yum -y install mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
初始化设置
mysql_secure_installation
首先是设置密码
Enter current password for root (enter for none): #<–初次运行直接回车 #设置密码 Set root password? [Y/n] #<– 是否设置root用户密码,输入y并回车或直接回车 New password: #<– 设置root用户的密码 Re-enter new password: #<– 再输入一次你设置的密码 #其他配置 Remove anonymous users? [Y/n] #<– 是否删除匿名用户,回车 Disallow root login remotely? [Y/n] #<–是否禁止root远程登录,回车, Remove test database and access to it? [Y/n] #<– 是否删除test数据库,回车 Reload privilege tables now? [Y/n] #<– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -uroot -ppassword
安装完成
可能遇到的问题:
一:
1、问题描述
“Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.”
rm -f /var/lib/mysql/ib_logfile systemctl restart mysqld.service
配置MariaDB的字符集
1、文件/etc/my.cnf
vi /etc/my.cnf
在[mysqld]标签下添加
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
2、文件/etc/my.cnf.d/client.cnf
vi /etc/my.cnf.d/client.cnf
在[client]中添加
default-character-set=utf8
3、文件/etc/my.cnf.d/mysql-clients.cnf
vi /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
4、全部配置完成,重启mariadb
systemctl restart mariadb
之后进入MariaDB查看字符集
[root@localhost ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 14 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]> show variables like "%character%";show variables like "%collation%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec) +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | utf8_general_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)
关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
设置远程登陆
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges;
测试
mysql -h 10.50.200.169 -u root -p
注意:
上面操作要成功,必须保证防火墙关闭或者添加端口3306例外;
前面环境中我直接把防火墙关了,但是目前大网络环境下,人们越来越重视安全问题,直接关防火墙是极为不推荐的!
[root@hadoop ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent success [root@hadoop ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent success [root@hadoop ~]# firewall-cmd --reload success
把端口3306添加到防火墙例外,然后必须reload一下;过一会可以从其他客户端连接一下,这样就OK了!
在提醒一下,生产环境不要暴露root用户,禁止使用root远程登陆,禁止关闭防火墙!!!