Centos7.4 安装mysql
从CentOS 7.0开始,yum源中开始使用Mariadb来代替MySQL的安装。即使你输入的是yum install -y mysql , 显示的也是Mariadb的安装内容。使用源代码进行编译安装又太麻烦。因此,如果想使用yum安装MySQL的话,就需要去下载官方指定的yum源,网址为: https://dev.mysql.com/downloads/repo/yum/ 找到Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package,单击后面的Download,在新的页面中单击最下面的No thanks, just start my download.就可以下载到yum源了。 下面将进行MySQL的安装:
1. 首先进入本机的源文件目录
cd /usr/local/src
2. 使用wget下载官方yum源的rpm包:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
3. 安装rpm包:
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
4. 再次使用yum来安装mysql-server:
yum install -y mysql-server 可以看到这次不再提示安装Mariadb了
安装过程提示错误
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
源 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-server-5.7.37-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决方案:
GPG验证不通过,我理解是本机配置的这个软件包对应的公钥不对,签名验证失败。(我也不知道这个公钥是在安装过程哪一步自动配置的)。我在mysql官网搜关键字GPG,找到了解决方案,大意是如果使用的4.1以上版本的rpm的话,除了import mysql的公钥到个人用户的配置中,还需要import mysql的公钥到RPM的配置中。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
备注:以上原文命令只适用于mysql5.7,其他版本请点击原文链接,选择相应版本,查看解决方案
5. 安装完成后,启动mysqld服务:
systemctl start mysqld
查看是否成功启动:
ps aux|grep mysqld
6. 设置mysqld服务开机自启动:
systemctl enable mysqld
7. 使用初始密码登录
由于MySQL从5.7开始不允许首次安装后,使用空密码进行登录,系统会随机生成一个密码以供管理员首次登录使用,这个密码记录在/var/log/mysqld.log文件中,使用下面的命令可以查看此密码:
cat /var/log/mysqld.log|grep 'A temporary password'
2017-11-12T13:35:37.013617Z 1 [Note] A temporary password is generated for root@localhost: bkv,dy,)o7Ss 最后一行冒号后面的部分bkv,dy,)o7Ss就是初始密码。
使用此密码登录MySQL:
mysql -u root -p
8. 更改默认密码:
切换数据库:
use mysql; 修改root密码:
alter user 'root'@'localhost' identified by 'your_password';
将your_password替换成你自己的密码就可以了,当然,这个密码是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上。
修改密码时可能会弹出 Your password does not satisfy the current policy requirements
这是因为为了加强安全性,MySQL5.7为root用户随机生成了一个密码,如上所示
这个其实与validatepasswordpolicy的值有关。
validatepasswordpolicy有以下取值:
Policy Tests Performed 0 or LOW Length 1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters 2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file 默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
修改validatepasswordpolicy参数的值
mysql> set global validatepasswordpolicy=0; Query OK, 0 rows affected (0.00 sec)
这样就可以设置你的密码了
9 设置允许远程连接数据库
进入mysql 选择mysql数据库 执行:
update user set host = '%' where user = 'root';
允许root 用户远程登录 % 表示所有IP地址
运行以下命令设置权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
刷新授权
FLUSH PRIVILEGES;
这样你就可以远程连接该数据库了
重新使用新的密码登录,如果可以正常登录说明你的MySQL已经成功安装在CentOS 7.4上了
mysql 的默认配置文件在 /etc/my.cnf
写入需要修改的配置,然后重新启动mysql时生效。
整个数据库修改编码格式
修改数据库表的编码格式,修改为utf8mb4;修改Mysql配置文件my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
文档信息
版权声明:可自由转载(请注明转载出处)-非商用-非衍生
发表时间:2018年6月25日 10:09