MySQL8.0 on RHEL7

用了很久的mysql5.7,终于也要升级到mysql8.0了。升级之后的安装配置步骤有些不同,记录一下

mysql5.7的安装步骤:https://cbzhan.blogspot.com/2018/01/linuxel7-mysql5720-jira738.html

mysql8.0的官网安装文档:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

1. 首先还是下载yum源:
1) 访问https://dev.mysql.com/downloads/repo/yum/,找到对应的OS和mysql版本的yum源包
2)  下载yum源包:
# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
3)  安装:
# rpm -ivh mysql80-community-release-el7-3.noarch.rpm
4) 确认一下:
# yum repolist all | grep mysql

2. 和5.7时一样,卸掉系统自带的mariadb的包
1) 先查询一下:
# rpm -qa|grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
2) 卸载:
# yum remove mariadb-libs-5.5.64-1.el7.x86_64
3) 再确认一下已经没有了:
# rpm -qa|grep mariadb

3. 安装mysql8.0:
1) yum安装:
# yum -y install mysql-community-server
2) 确认一下:
# rpm -qa | grep mysql
mysql-community-common-8.0.17-1.el7.x86_64
mysql-community-server-8.0.17-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-client-8.0.17-1.el7.x86_64
mysql-community-libs-8.0.17-1.el7.x86_64
3) 安装完毕启动mysql:
# systemctl start mysqld.service
4) 查询一下mysql daemon的状态:
# systemctl status mysqld.service
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2019-09-17 11:36:30 CST; 22s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 55933 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 56015 (mysqld)
   Status: "Server is operational"
    Tasks: 39
   Memory: 525.7M
   CGroup: /system.slice/mysqld.service
           └─56015 /usr/sbin/mysqld

Sep 17 11:36:03 bjcore-ace02 systemd[1]: Starting MySQL Server...
Sep 17 11:36:30 bjcore-ace02 systemd[1]: Started MySQL Server.

4. 安装后的配置:
1) 初始密码:
# grep 'temporary password' /var/log/mysqld.log
2019-09-17T03:36:20.429833Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <cWyQB.Qx6rq
2) 用上述红色的初始密码登陆
# mysql -uroot -p
Enter password: <cWyQB.Qx6rq
3) 改root密码,注意默认是强安全规则,大小写字母数字特殊字符最少8位
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'New_passwd123';
Query OK, 0 rows affected (0.04 sec)
4) 更改默认内存配置:
# vi /etc/my.cnf,修改innodb_buffer_pool_size后重启mysql即可
innodb_buffer_pool_size = 20000M
# systemctl restart mysqld.service
5) 不用更改默认的字符集,因为默认的utf8mb4比utf8对emoji等扩展utf字符集支持得更好
6) 开放root远程访问:
i)登录mysql后执行:
mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.04 sec)
mysql> flush privilege;
ii) 打开防火墙的3306端口:
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
iii) 用mysql -uroot -p -h host's ip address试下,windows上用mysql workbench

评论

此博客中的热门博文

Windows上调试C/C++程序时自动产生coredump的设置方法

利用Gitlab的Jira issue tracker实现Jira issue自动根据Gitlab commit/merge更新状态

go用xorm去update数据库的一个坑