安装MySQL
添加MySQL源
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
yum clean all
yum makecache
在第一次运行yum makecache
时可能会失败,报错如下:
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
再次执行上条命令即可,出现:
元数据缓存已建立
安装
yum install mysql-community-server
开启服务
systemctl start mysqld.service
修改密码,开启远程访问
获取初始密码并登录
MySQL在安装后会创建一个root@locahost
账户,并且把初始的密码放到了/var/log/mysqld.log
文件中;
cat /var/log/mysqld.log | grep password
得到初始密码o7X/bR9:uk0*
后登录:
[root@xcore-ams2-se-r2 ~]# cat /var/log/mysqld.log | grep password
2020-11-26T07:55:59.456806Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: o7X/bR9:uk0*
mysql -u root -p #会提示输入密码
修改密码
MySQL8.0
要求必须修改密码:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> flush privileges;
mysql> exit;
远程访问
进入mysql
:
mysql -u root -p #提示输入密码 “123456”
mysql> use mysql;
//Mysql默认不允许远程登录,所以需要开启远程访问权限
mysql> select user,authentication_string,host from user;
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;
//navicat 连接 mysql 出现`Client does not support authentication
// protocol requested by server`
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
开启防火墙:
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放3306端口
firewall-cmd --reload # 配置立即生效
即可使用Navicat
远程访问
编码格式
默认MySQL8.0
采用utf8mb4
方式编码,兼容utf8
,可以通过下面的命令进行查看:
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
开机自启等常用命令
systemctl enable mysqld.service //开机自启
systemctl start mysqld.service //启动mysql
systemctl stop mysqld.service //结束
systemctl restart mysqld.service //重启
mysql> select version(); //查看mysql版本