发布于 

Linux安装MySQL

A、MySQL基础安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#CentOS安装  下载rpm文件
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum localinstall mysql57-community-release-el7-8.noarch.rpm -y
yum install mysql-community-server -y

# 启动MySQL服务
systemctl start mysqld
# 查看运行状态
systemctl status mysqld
# 设置开机启动
systemctl enable mysqld
#重启
systemctl restart mysqld

#修改root本地登录密码, 通过一下命令找到数据库初始密码**
grep 'temporary password' /var/log/mysqld.log

#通过 'mysql -uroot -p' 进入到数据库中,修改数据库密码**或者Navcat客户端
mysql -uroot -p

B、设置密码

1
2
3
4
5
6
7
8
9
10
11
12
#如果要使用简单密码,请先执行一面设置。mysql简单密码5.7版本(可选)
mysql> set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;

#设置数据库密码
Mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql_Ro0t#0615!^@#';

#刷新权限
Mysql> flush privileges;

C、设置账户允许远程访问

1
2
3
4
5
6
7
8
#允许远程访问
Mysql>
grant all on *.* to 'root'@'%' identified by 'mysql_Ro0t#0615!^@#' with grant option;
Mysql>
grant all privileges on *.* to 'root'@'%' identified by 'mysql_Ro0t#0615!^@#' with grant option;
#刷新权限
Mysql>
flush privileges;

D、创建新用户

1
2
3
4
5
6
#新建用户
#格式:create user "username"@"host" identified by "password";
create user 'test'@'%' identified by '123';

#授权
#格式:grant privileges on databasename.* to 'username'@'localhost' IDENTIFIED BY 'PASSWORD';

F、扩展:(未验证)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#修改mysql存放位置
cp -rf /var/lib/mysql/* /mnt/data/mysqldata/data/
chown -R mysql.mysql /mnt/data/mysqldata
vim /etc/my.cnf

join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
#datadir=/var/lib/mysql
datadir=/mnt/data/mysqldata/data
socket=/mnt/data/mysqldata/data/mysql.sock
socket=/var/lib/mysql/mysql.sock
lower_case_table_names=1
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=1000
max_connect_errors=300
\#Recommended in standard MySQL setup
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysqld_safe]
\#log-error=/var/log/mysqld.log
log-error=/mnt/data/mysqldata/log/mysqld.log
pid-file=/mnt/data/mysqldata/run/mysqld/mysqld.pid
\#pid-file=/var/run/mysqld/mysqld.pid

[mysql] ## 这里加2行,避免mysql -uroot -p的时候报找不到sock文件
socket=/mnt/data/mysqldata/data/mysql.sock
wq: 这里保存
——————————————————————————————————

#以下暂时不用
————————————————————————————————
vim /etc/init.d/mysqld ## 修改下面的变量
get_mysql_option mysqld datadir "/home/mysql3306/data"
#get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/home/mysql3306/log/mysqld.log"
#get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/home/mysql3306/run/mysqld/mysqld.pid"
#get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
——————————————————————————————————

#重启
systemctl restart mysqld

#验证下是否数据都在
mysql -uroot -p'lbMysql_!@#'
Mysql> use mysql;
desc db;
mysql>show global variables like "%datadir%";