1. 简介
笔者使用的系统是CentOS 7, 默认使用的是mariadb来替代MySQL, 使用上基本一致.
2. 安装
安装方法如下:
# yum install mariadb mariadb-server mariadb-devel
启动方案如下:
# systemctl start mariadb
# systemctl enable mariadb
注意:
安装完成后首次启动默认的root用户密码为空, 可以通过MySQL安全配置向导来进行安全方面的配置
-->mysql_secure_installation
3. 连接
$ mysql -u root –p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connectionid is 14Server version:5.5.52-MariaDB MariaDB Server
Copyright (c)2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type'help;' or '\h' for help. Type '\c' to clearthe current input statement.
MariaDB [(none)]>
4. 命令
//显示数据库
SHOW DATABASES;//删除数据库
DROP DATABASE ;//选择数据库
USE ;//显示数据表, 在选择数据库之后使用
SHOW TABLES;//显示数据表的属性
SHOW COLUMNS FROM 数据表;//显示数据表的详细索引信息
SHOW INDEX FROM 数据表;//输出数据库管理系统的性能及统计信息
SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern']\G;
5. 用户
MySQL用户存储在mysql 数据库中的 user 表, 直接向表中添加数据即添加MySQL用户
以下为添加用户的的实例,用户名为admin,密码为admin123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限
MariaDB [mysql]>insert into user->(host, user, password, select_priv, insert_priv, update_priv)-> VALUES('localhost', 'admin', PASSWORD('admin123'), 'Y', 'Y', 'Y');
Query OK,1 row affected, 4 warnings (0.00sec)
MariaDB [mysql]>flush privileges;
Query OK,0 rows affected (0.00sec)
MariaDB [mysql]> select host, user, password from user where user = 'admin';+-----------+-------+-------------------------------------------+
| host | user | password |
+-----------+-------+-------------------------------------------+
| localhost | admin | *01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C |
+-----------+-------+-------------------------------------------+
1 row in set (0.00sec)
MariaDB [mysql]>
提示:
- 在添加用户时,请注意使用MySQL提供的PASSWORD()函数来对密码进行加密。
- 在 MySQL5.7 中 user 表的 password字段名已换成了authentication_string。
- 在注意需要执行flush privileges语句。 这个命令执行后会重新载入授权表
另一种添加用户的方法为通过SQL的GRANT命令
6. 操作
下面的命令创建了一个数据库并从sql脚本中向该数据库导入表
MariaDB > CREATE DATABASEtest;
Query OK,1 row affected (0.00sec)
MariaDB> USEtest;Databasechanged
MariaDB[test]> source mysql.sql
7. 编码
笔者在实际使用过程中发现插入中文数据出现乱码, 于是关注一下MySQL的编码
下面的命令可以查看当前编码方式
MariaDB [(none)]> show variables like "char%";+--------------------------+----------------------------+
| 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.00 sec)
可以看到数据库和数据库服务器的默认编码为latin1, 这里需要将其改为utf8
# vi /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server=utf8
#vi /etc/my.cnf.d/client.cnf
[client]
default-character-set=utf8
#vi /etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set=utf8
重启mysqld后再次查看编码
MariaDB [(none)]> show variables like "char%";+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
8. 配置
MySQL配置文件为/etc/my.cnf, 具体配置方法参考