下载MYSQL
官网链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
安装MySQL
- 将下载好的mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz上传至/usr/local目录下
- 解压mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
-
cd /usr/local
-
tar zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
-
重命名 mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql
-
- 创建用户组和用户
- 创建用户组:groupadd mysql
- 创建用户:useradd -r -g mysql mysql
- 创建data目录
cd /usr/local/mysql
mkdir data
- 指定用户和用户组:
cd /usr/local
chown -R mysql mysql/
chgrp -R mysql mysql/
- 初始化mysql
/usr/local/mysql/bin/mysqld --user mysql --basedir /usr/local/mysql --datadir /usr/local/mysql/data --initialize
注意:记住root账户登录的临时密码
- 配置my.cnf文件
- vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
character-set-server=utf8
explicit_defaults_for_timestamp=true
#socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
6. 启动MYSQL
- /usr/local/mysql/bin/mysqld_safe --user=mysql &
- 设置开机启动
- cd /usr/local/mysql/support-files/
- cp mysql.server /etc/init.d/mysql
- vi /etc/init.d/mysql
将mysql目录填上:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
- 授权: chmod +x /etc/init.d/mysql
- 设为开机启动:chkconfig --add mysql
- 重启服务: service mysql restart
- 其他命令
停止服务:service mysql stop 启动服务:service mysql start 查看服务:service mysql status
开启MySQL远程连接
-
登录mysql
- /usr/local/mysql/bin/mysql -u root -p
- 输入临时密码
-
重置root密码
- set password=password(“root”);
-
登录授权
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
- 执行 flush privileges;命令立即生效
- 查询数据库的用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;