目录
一、检查是否安装过MySQL
rpm -qa | grep mysql
如果查询出文件,可以使用以下命令删除
rpm -e 文件全名
二、下载MySQL
三、解压重命名
mkdir /soft
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql
四、增加分组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
五、创建相关目录
mkdir -p /data/mysql
chown -R mysql:mysql /data
chown -R mysql:mysql /soft
chmod 750 /data
六、配置环境变量
cat <<EOF>> /root/.bash_profile
export PATH=\$PATH:/soft/mysql/bin
EOF
生效环境变量
source /root/.bash_profile
七、安装依赖
yum install -y libaio
八、卸载自带mariadb和mysql
rpm -qa | grep mysql
rpm -e --nodeps $(rpm -qa | grep mysql)
rpm -qa | grep mariadb
rpm -e --nodeps $(rpm -qa | grep mariadb)
九、MySQl初始化
mysqld --initialize --user=mysql --basedir=/soft/mysql --datadir=/data/mysql/
- –basedir 为mysql解压目录
- –datadir 为mysql数据存放目录
红框为MySQL初始化的密码
十、配置my.cnf文件
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/soft/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
十一、启动停止MySQL服务(开机自启)
- 方式一
/soft/mysql/support-files/mysql.server start
- 方式二
设置MySQL服务开机自启
cp /soft/mysql/support-files/mysql.server /etc/init.d/mysqld
增加配置
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=/soft/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
启动MySQL
systemctl start mysqld
停止MySQL
systemctl stop mysqld
开机自启
systemctl enable mysqld
关闭开机自启
systemctl disable mysqld
十一、免密登录
- 关闭MySQL服务
service mysqld stop
- 修改my.cnf,增加skip-grant-tables
vim /etc/my.cnf
- 重新的登录
mysql -u root -p
- 修改密码
use mysql;
update user set authentication_string=password('root') where user='root';
flush privileges;
- 删除skip-grant-tables
十二、设置远程连接
use mysql;
select host from user where user='root';
update user set host ='%' where user ='root';
flush privileges;