作者: 铁锚
日期: 2013年12月27日
部分参考: Centos 使用YUM安装MariaDB
说明: 首先必须能链接外网. 如果不能直接访问,那也可以设置代理,请参考: 在内网机器上设置yum代理
使用 yum 的权限要求是 root 用户,如果你不是,那么可以需要 在 shell命令之前加上 sudo, 或者 su root 切换到 super 管理员进行操作. 并可能需要输入密码.
1. 添加 yum 数据源;
建议命名为 MariaDB.repo 类似的名字:
- cd /etc/yum.repos.d/
- vim /etc/yum.repos.d/MariaDB.repo
然后,写入文件内容:
- # /etc/yum.repos.d/MariaDB.repo
- # MariaDB 5.5 CentOS repository list - created 2013-12-23 10:27 UTC
- # http://mariadb.org/mariadb/repositories/
- [mariadb]
- name = MariaDB
- baseurl = http://yum.mariadb.org/5.5/centos6-amd64
- gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
- gpgcheck=1
选择好操作系统版本之后既可以查看,其他操作系统的安装源也可以在此处查看并设置。
如果服务器不支持https协议,或者gpgkey 保错,确保没问题的话,可以将 gpgcheck=1 修改为 gpgcheck=0,则不进行校验.
2. 安装数据库
- # yum remove MariaDB-server MariaDB-client
- yum -y install MariaDB-server MariaDB-client
3. 启动数据库
如果不用进行其他的操作,则现在就可以直接启动数据库,并进行测试了。
- # 查看mysql状态;关闭数据库
- # service mysql status
- # service mysql stop
- # 启动数据库
- service mysql start
- # 修改root密码
- mysqladmin -u root password 'root'
如果是重要的服务器,请使用复杂密码,例如邮箱,各种自由组合的规则的字符等。
5. 登录数据库
- mysql -u root -p
- mysql -h 127.0.0.1 -P 3306 -u root -p
6. 简单SQL测试
- >
- -- 查看MySQL的状态
- status;
- -- 显示支持的引擎
- show engines;
- -- 显示所有数据库
- show databases;
- -- 切换数据库上下文,即设置当前会话的默认数据库
- use test;
- -- 显示本数据库所有的表
- show tables;
- -- 创建一个表
- CREATE TABLE t_test (
- id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- userId char(36),
- lastLoginTime timestamp,
- PRIMARY KEY (id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- -- 插入测试数据
- insert into t_test(userId)
- values
- ('admin')
- ,('haha')
- ;
- -- 简单查询
- select * from t_test;
- select id,userId from t_test where userId='admin' ;
mysql, MariaDB 的默认数据存放在 /var/lib/mysql/ 目录下,如果不想放到此处,或者是想要程序和数据分离,或者是磁盘原因,需要切换到其他路径,则可以通过修改 datadir系统变量来达成目的.
- # 停止数据库
- service mysql stop
- # 创建目录,假设没有的话
- 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 文件可以发现
- # MariaDB 的此文件之中只有一个包含语句
- # 所以需要修改的配置文件为 /etc/my.cnf.d/server.cnf
- cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf_original
- vim /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
7.1 创建慢查询日志文件
既然上面指定了慢查询日志文件,我后来看了下MariaDB的err日志,发现MariaDB不会自己创建该文件,所以我们需要自己创建,并修改相应的文件权限(比如 mysql 采用 mysql用户,可能我们使用 root用户创建的文件,此时要求慢查询日志文件对mysql用户可读可写就行。)
- touch /usr/local/ieternal/mysql_data/slow_query_log.log
- chmod 666 /usr/local/ieternal/mysql_data/slow_query_log.log
然后重新启动MySQL.
- service mysql start