mysql8.0.30安装-Centos7
一、下载mysql安装包
下载地址:https://dev.mysql.com/downloads/mysql/
二、安装并初始化
# 解压
xz -d mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
# 再次解压
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar
# 修改文件夹名称
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0.30
# 切换目录
cd mysql-8.0.30/
# 创建用户组
groupadd mysql
# 添加用户/密码
useradd -g mysql mysql
# 授权
chown -R mysql.mysql /usr/local/mysql-8.0.30
# 创建数据存储文件夹
mkdir data
# 切换目录
cd /usr/local/mysql-8.0.30/bin
# 数据库初始化-区分大小写
./mysqld --user=mysql --basedir=/usr/local/mysql-8.0.30 --datadir=/usr/local/mysql-8.0.30/data/ --initialize
# 数据库初始化-不区分大小写
./mysqld --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql-8.0.30 --datadir=/usr/local/mysql-8.0.30/data/ --initialize
将初始化成功后生成的临时密码保存下来!
三、自定义配置
# 备份初始化时生成的配置文件
mv /etc/my.cnf /etc/my.cnf.bak
# 创建新的配置文件
vi /etc/my.cnf
# 授权配置文件
chmod +x /etc/my.cnf
配置内容
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql-8.0.30/
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql-8.0.30/data
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=100
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 是否对sql语句大小写敏感,1表示不敏感 (注意:这个在mysql8中已经无法在配置文件中修改了,只有在初始化的时候进行配置,且如果初始化时配置了该属性,则在本配置文件中必须要有该属性的设置,否则启动报错。意思就是要么两个地方都配置,要么这里也不要配置。不然迎接你的只有报错)
lower_case_table_names = 1
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,避免系统IO压力增大,默认16M
tmp_table_size = 64M
max_heap_table_size = 64M
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
四、设置开机启动
cd /usr/local/mysql-8.0.30/
cd /usr/local/mysql-8.0.30/
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
五、启动mysql服务并登录
service mysql start
service mysql status
# service mysql stop
mysql -uroot -p
解决方案:
vi /etc/profile
添加内容如下:
export PATH=$PATH:/usr/local/mysql-8.0.30/bin/
# 更新配置文件
source /etc/profile
六、修改密码并开启远程登录
mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
七、远程连接测试
# 开发3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service