0.查看磁盘情况--确定data目录放在哪个文件夹下
fdisk -l
lsblk
1.关闭防火墙
systemctl disable firewalld
2.解压安装包 .tar.xz
上传安装包 /usr/local/
xz -d mysql-5.7.24-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar
mv /usr/local/mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包
================
3.用户管理目录创建
$ groupadd mysql
$ useradd -r -g mysql -s /bin/false mysql
$ mkdir -p /home/mysql/data/
$ mkdir -p /home/mysql/binlog/
$ touch /home/mysql/mysql.log
$ chown -R mysql:mysql /home/mysql
4.修改配置文件
如果中间修改了配置文件,要重启数据库/etc/init.d/mysql restart
/etc/my.cnf
[mysql]
no-auto-rehash
default-character-set = utf8mb4
[mysqld]
#skip-grant-tables
log_timestamps=SYSTEM
user = mysql
port = 3306
basedir = /usr/local/mysql
log_error = /home/mysql/mysql.log
datadir = /home/mysql/data/
socket = /home/mysql/mysql.sock
pid-file = /home/mysql/db.pid
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
skip_name_resolve = 1
open_files_limit = 65535
back_log = 1024
default_authentication_plugin = mysql_native_password
# sql_safe_updates=on
innodb_buffer_pool_size=8G
# 说明:该参数可以提升扩展性和刷脏页性能。
# 默认值1,建议值:4-8;并且必须小于innodb_buffer_pool_instances
innodb_page_cleaners=4
innodb_buffer_pool_instances=8
innodb_log_file_size=4G
innodb_log_files_in_group=4
wait_timeout=3600
interactive_timeout=3600
max_connections=3000
default-time_zone='+8:00'
binlog_expire_logs_seconds=604800
5.初始化数据库、启动服务
$ ./bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql --pid-file=/home/mysql/db.pid
$ ./support-files/mysql.server start
$ ./support-files/mysql.server status
6.设置开机自启动
$ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
$ chkconfig --add mysql
$ chkconfig mysql on
配置环境变量
设置 mysql 环境变量
$ vim /etc/profile
在最底下加上
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
7.数据库是否启动
/etc/init.d/mysql status
8.登录数据库
/usr/local/mysql/bin/mysql -u root -p -S /home/mysql/mysql.sock
9.修改root密码
mysql> ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'password';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
/usr/local/mysql/bin/mysql -u root -p'password' -S /home/mysql/mysql.sock
-- 刷新权限
mysql> FLUSH PRIVILEGES;
10.创建普通用户、赋予权限
mysql> select user ,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
赋予所有权限
CREATE USER 'xxx'@'%' IDENTIFIED WITH 'mysql_native_password' by 'xxxxxx3' ;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'xxx'@'%';
赋予库表权限
CREATE USER 'xxx1'@'%' IDENTIFIED WITH 'mysql_native_password' by '1xxxxx!' ;
GRANT select,show view ON 库名.* TO 'xxx1';
FLUSH PRIVILEGES;