Linux安装Mysql
记录一下安装mysql的过程,以及一些相关配置。
mysql版本是5.7
安装
cd /home/soft
tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.26-linux-glibc2.12-x86_64 /home/mysql
mkdir -p /home/mysql/data
创建用户和组
groupadd mysql
useradd -g mysql mysql -s /sbin/nologin
chown mysql:mysql -R /home/mysql
添加环境变量
echo "export PATH=\$PATH:/home/mysql/bin" >> /etc/profile
source /etc/profile
配置文件
vi /etc/my.cnf
[mysqld]
user=mysql
basedir=/home/mysql/
datadir=/home/mysql/data
socket=/tmp/mysql.sock
port=3306
server_id=6
max_connections=1000 #连接数
max_allowed_packet=100M #数据包大小
lower_case_table_names=1 #关闭大小写敏感
explicit_defaults_for_timestamp=true #开启查询缓存
[client]
socket=/tmp/mysql.sock
初始化数据库
设置配置文件权限
chmod 755 /etc/my.cnf
初始化,在mysql的bin目录下执行
./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql/ --datadir=/home/mysql/data --user=mysql --initialize
成功初始化会输出默认生成的密码,复制出来后续登录数据库用。
关闭Selinux
修改/etc/selinux/config,将SELINUX=后面的值修改为disabled,然后再运行指
令关闭,如果没有关闭,可能会导致MySQL无法启动;
setenforce 0
添加到服务管理
vi /etc/systemd/system/mysqld.service
[Unit]
Description=MySQLServer
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]
Type=simple
User=mysql
Group=mysql
ExecStart=/home/mysql/bin/mysqld--defaults-file=/etc/my.cnf
Restart=on-failure
RestartSec=10
启动服务:systemctlstartmysqld 或者 servicemysqldstart
停止服务:systemctlstartmysqld 或者 servicemysqldstop
重启服务:systemctlrestartmysqld 或者servicemysqldrestart
开启开机启动:systemctlenablemysqld
关闭开机启动:systemctldisablemysqld
查看服务状态:servicemysqldstatus
防火墙设置
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
设置远程访问和密码
mysql -uroot -p
SET PASSWORD = 'K5T342x_HfrSBhACtb';
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
UPDATE MYSQL.USER SET HOST = '%' WHERE USER = 'root';
FLUSH PRIVILEGES;