MariaDB对MySql代码级兼容的开源产品,自从MySql出售之后MariaDB就成为了MySql最好的替代品。CentOS默认不带MariaDB需要自己安装,使用yum安装是比较方便的方式。
使用yum要求root用户权限,如果不是root那么可以在shell命令之前加上sudo或者su root切换到super管理员进行操作,并可能需要输入密码。
第一步:生成repo文件
- 创建一个新的repo文件
cd /etc/yum.repos.d/
vi /etc/yum.repos.d/MariaDB.repo - 添加内容,这里使用10.2版,建议使用最新的稳定版
# MariaDB 10.2 CentOS repository list – created 2017-11-07 11:26 UTC
#http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
文件内容可以从官网生成,网址 https://downloads.mariadb.org/mariadb/repositories/ ,选择好操作系统版本之后即可以显示。
如果服务器不支持https协议或gpgkey报错,确保没问题的话可以将gpgcheck=1修改为gpgcheck=0,则不进行校验。
第二步:安装MariaDB
yum -y remove MariaDB-server MariaDB-client
先删除旧的MariaDB
yum -y install MariaDB-server MariaDB-client
安装新的MariaDB。此处安装的是服务器和客户端,一般来说安装这两个就可以了,有必要的话可以加上MariaDB-devel。
第三步:启动MariaDB
查看数据库状态
service mysql status
关闭数据库
service mysql stop
启动数据库
service mysql start
第四步:设置自启动MariaDB
- 将 mysql.server 脚本拷贝到 /etc/init.d/ ,并添加运行权限
cd /path/to/your/mariadb-version/support-files/ cp mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql
- 创建特定命名的符号链接
chkconfig —add mysql chkconfig —level 345 mysql on
第五步:去掉表名的大小写敏感
cp /etc/my.cnf.d/server.cnf /etc/my.cnf
在 [mysqld-5.5] 下加入:
lower_case_table_names=1
这样系统就会自动将表名转成小写。切记在使用数据库前作这个操作,否则中途改就比较郁闷了,特别是当数据库名也有大写字母的时候。
第六步:设置root密码
MariaDB安装好后root的密码是空,需要设置
mysqladmin -u root password ‘root’
第七步:登录数据库
登录本机数据库
mysql -u root -p
登录远程数据库
mysql -h 127.0.0.1 -P 3306 -u root -p
修改数据存放目录
MariaDB 的默认数据存放在/var/lib/mysql/目录下,可以通过修改 datadir系统变量来切换到其他路径
停止数据库
service mysql stop
创建目录
bq. mkdir /usr/local/ieternal/mysql_data
拷贝默认数据库到新的位置。用-a命令将文件属性一起拷贝,否则各种问题
cp -a /var/lib/mysql /usr/local/ieternal/mysql_data
备份原来的数据
cp -a /etc/my.cnf /etc/my.cnf_original
查看 /etc/my.cnf 文件可以发现文件中只有一个包含语句。所以需要修改的配置文件为/etc/my.cnf.d/server.cnf
cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf_original
vi /etc/my.cnf.d/server.cnf
在文件的 mysqld 节下添加内容
[mysqld]
datadir=/usr/local/ieternal/mysql_data/mysql
socket=/var/lib/mysql/mysql.sock
#default-character-set=utf8
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/usr/local/ieternal/mysql_data/slow_query_log.log
long_query_time=2
其中,只有datadir和socket比较重要。而default-character-set是mysql的参数,MariaDB变成了character_set_server
创建慢查询日志文件
上面指定了慢查询日志文件,MariaDB不会自己创建该文件,需要自己创建并修改相应的文件权限(如MariaDB采用mysql用户,可能我们使用root用户创建的文件,此时要求慢查询日志文件对mysql用户可读可写就行。)
touch /usr/local/ieternal/mysql_data/slow_query_log.log
chmod 666 /usr/local/ieternal/mysql_data/slow_query_log.log
设置开机启动
vi /etc/rc.local
添加service mysqld start
然后重新启动MariaDB
service mysql restart
评论
本文评论功能已关闭。