由于近期换了m2电脑,安装了CentOS Stream release 9的虚拟机。为了复习一些MySQL的内容,搭建MySQL8.0单机实例。
1.下载MySQL8.0社区版:
下载地址:MySQL :: Download MySQL Community Server
选取对应的版本
2.安装MySQL8.0
2.1下载完成后,上传到虚拟机,tar -zxvf xxx.gz解压gz包,新建/usr/local/mysql目录,将解压后文件夹内的所有文件都拷贝上上述目录下,再新建/usr/local/mysql/data、/usr/local/mysql/log目录。完成后应该如下图所示,仅供参考:
2.2修改环境变量: .bash_profile
cd ~ && vim .bash_profile
加入PATH=$PATH:$HOME/bin:/usr/local/mysql/bin 此处bin位置,取决于上述mysql解压后文件放置的位置。
修改完后source .bash_profile, 使用which mysql 应能查到修改后的mysql
2.3 创建mysql用户和用户组
mysql不能在root下运行,必须创建mysql用户和用户组。
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/lib/mysql
2.4 配置参数文件
vim /etc/my.cnf
[mysql]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
character-set-server=utf8mb4
default-storage-engine=INNODB
innodb_buffer_pool_size=200M
max_allowed_packet=16M
explicit_defaults_for_timestamp=1
log-output=FILE
general_log=0
general_log_file=/usr/local/mysql/log/general.err
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/log/query.err
long_query_time=10
log-error=/usr/local/mysql/log/error.err
default-authentication-plugin=mysql_native_password
2.5 myql初始化
执行 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成随机密码
cd /usr/local/mysql/log 刚才创建的日志目录
cat error.err
可以看到临时root密码
2.6 添加mysqld到systemd管理
vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=65536
LimitNPROC=65536
2.7 将mysqld将入systemd管理,开机自启,启动mysqld
systemctl daemon-reload
systemctl start mysqld && systemctl enablemysqld
2.8进入mysql修改root密码
如果提示一下错误,可按此修改,仅供参考。
alter user root@"localhost" identified with mysql_native_password by "yourpassword";
flush privileges;
到此, MySQL8.0 在CentOS Stream release 9下安装配置结束。