MariaDB—— 5.mysql57 yum 安装

1.配置yum源

下载官方的yum源,以便以后快速安装部署。

[root@master ~]# yum -y install  mysql-community-server --downloadonly  --downloaddir=/data/yum/mysql-community
[root@master ~]# yum -y install   mysql-community-client --downloadonly  --downloaddir=/data/yum/mysql-community
[root@master ~]# yum -y install  mysql-community-libs --downloadonly  --downloaddir=/data/yum/mysql-community
[root@master ~]# yum -y install  mysql-community-test --downloadonly  --downloaddir=/data/yum/mysql-community
[root@master ~]# yum -y install   mysql-community-common --downloadonly  --downloaddir=/data/yum/mysql-community
[root@master ~]# yum -y install  perl-JSON --downloadonly  --downloaddir=/data/yum/mysql-community
 
[root@master ~]# yum  -y install createrepo
[root@master ~]# createrepo .

[root@master ~]# vim mysql-community.repo
[mysql-community]
name=mysql-community
baseurl=file:///data/yum/mysql-community/
gpgcheck=0
enabled=1
2.yum安装
[root@master ~]# yum -y install mysql-community-*
3.修改配置文件
[root@master ~]# vim /etc/my.cnf
[mysqld]
datadir=/data/mariadb/mysql-community
#建议不要改,因为某些应用程序,默认sock文件就是在这个位置
socket=/var/lib/mysql/mysql.sock
user=root
symbolic-links=0
#参数报错
#validate_password_policy=LOW
log-error=/var/log/mysqld.log
#此处的pid-file要和服务文件中的PIDFile一致起来
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
#要和mysqld块中的socket一致起来
socket=/var/lib/mysql/mysql.sock
user=root
[root@master ~]# vim /usr/lib/systemd/system/mysqld.service
[Service]
User=root
Group=root
4.验证安装

4.1 systemctl启动服务

[root@master ~]# systemctl start mysqld
[root@master ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-03-03 10:31:42 CST; 1min 38s ago
   ...........

4.2 后台启动服务

[root@master ~]# mysqld&
[1] 41361
[root@master ~]# ps aux | grep mysqld
root      41361  2.2  2.2 1137880 183732 pts/1  Sl   10:33   0:00 mysqld

4.3 不能启动多个后台服务

[root@master ~]# cat /etc/{my1.cnf,my2.cnf}
[mysqld]
datadir=/data/mariadb/mysql-community/my1
socket=/var/lib/mysql/mysql1.sock
user=root
symbolic-links=0
log-error=/var/log/mysqld1.log
pid-file=/var/run/mysqld/mysqld1.pid
[mysql]
socket=/var/lib/mysql/mysql1.sock
user=root
[mysqld]
datadir=/data/mariadb/mysql-community/my2
socket=/var/lib/mysql/mysql2.sock
user=root
symbolic-links=0
log-error=/var/log/mysqld2.log
pid-file=/var/run/mysqld/mysqld2.pid
[mysql]
socket=/var/lib/mysql/mysql2.sock
user=root
[root@master ~]# mkdir /data/mariadb/mysql-community/{my1,my2}  /var/lib/mysql/
[root@master ~]# mysql_install_db --datadir=/data/mariadb/mysql-community/my1
[root@master ~]# mysqld  --defaults-file=/etc/my1.cnf&
[root@master ~]# mysql_install_db --datadir=/data/mariadb/mysql-community/my2
[root@master ~]# mysqld   --defaults-file=/etc/my2.cnf&

Notice:★★★★★★
虽然启动了两个mysqld,但是只有一个进程保留。

[root@master ~]# ps aux | grep mysqld
root      45083  0.3  2.2 1135800 184596 pts/1  Sl   11:23   0:00 mysqld --defaults-file=/etc/my1.cnf
root      45747  0.0  0.0 112712   952 pts/1    S+   11:28   0:00 grep --color mysqld

Notice1:★★★★
原则上mysqld在后台只能启动1个mysqld进程,也就是说mysqld是单进程运行的服务,不能启动多个进程。可以指定配置文件位置。
mysqld --defaults-file=…
Notice2:★★
数据库、日志等文件夹要手动创建,否则报错。
Notice3:★★★
采用服务第一次启动先初始化数据库,会在配置文件的数据文件位置创建默认数据库,会在/var/log/mysqld.log生成初始密码。

[root@master ~]# cat /var/log/mysqld.log
.............
2020-03-03T02:25:10.313796Z 1 [Note] A temporary password is generated for root@localhost: Xk4rwgl.#Leb
............

Notice4:★★
mysql_install_db在5.7版已被遗弃,可以用mysqld --initialize完成启动和初始化,mysql_install_db初始化数据库时要指定数据文件位置,并且目录为空目录,否则报错。
Notice5:★★
可以使用systemctl stop mysqld停止后台服务

5. 修改root密码
[root@master ~]# mysql -pXk4rwgl.#Leb
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> alter user 'root'@'localhost' identified by "123456";
mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+

validate_password_number_count:密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。
validate_password_special_char_count:密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。
validate_password_mixed_case_count:密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。
validate_password_length 参数是密码的长度,这个参数由下面的公式生成
validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)
validate_password_dictionary_file :指定密码验证的字典文件路径。
validate_password_policy :可设为0、1、2,分别代表从低到高的密码强度,此参数的默认值为1,如果想将密码强度改若,则更改此参数为0。
Notice1:★★★★
更改密码策略为LOW,必须为low,否则更改密码不成功。
set global validate_password_policy=0;
Notice2:★★★★
更改密码长度,必须为1,否则更改密码不成功。
set global validate_password_length=1;
密码最小长度为1

[root@master yum.repos.d]# mysql -p123456
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> \q
6. 设置自启动
[root@master ~]# systemctl enable mysqld

————Blueicex 2020/03/02 12:20 blueice1980@126.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值