Appearance

Appearance
MariaDB数据库基础知识入门:MariaDB入门 - MariaDB Knowledge Base
参考链接:
# 安装MariaDB
$ yum -y install mariadb mariadb-server
# 初始化
$ mysql_secure_installation
# 查看数据库版本
$ mysql -version
# 登陆root用户
$ mysql -u root -p
# 登陆普通用户(例如:登录`test_user`)
$ mysql -u test_user -p
-- 查看所有数据库
> SHOW DATABASES;
-- 创建数据库名为`test_db`的数据库
> CREATE DATABASE test_db;
-- 删除名为`test_db`的数据库
> DROP DATABASE test_db;
-- 查看当前用户
> SELECT user();
-- 查看所有用户
> SELECT host,user from mysql.user;
-- 创建名为`test_user1`的用户,可以通过本地主机`localhost`登陆
> CREATE USER 'test_user1'@'localhost' IDENTIFIED BY 'password123456';
-- 创建名为`test_user2`的用户,可以在任意主机`%`登陆
> CREATE USER 'test_user2'@'%' IDENTIFIED BY 'password123456';
-- 将`test_user`重命名为`new_user`:
> RENAME USER 'test_user'@'localhost' TO 'new_user'@'localhost';
/* 授予用户权限 */
-- 针对`test_db`数据库中的`所有表单`,向`test_user`授予`所有权限`
> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'%';
-- 针对`test_db`数据库中的`users`表单,向`test_user`授予`查询、更新、删除、插入`权限:
> GRANT SELECT,UPDATE,DELETE,INSERT ON test_db.users TO 'test_user'@'localhost';
-- 向`test_user`授予`所有数据库`的`所有权限`
> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'%';
/* 移除用户权限 */
-- 针对`test_db`数据库中的**所有表单**,移除`test_user`的`所有权限`
> REVOKE ALL PRIVILEGES ON test_db.* FROM 'test_user'@'%';
/* 查看用户权限 */
-- 查看从任意主机登陆的`test_user`的权限
> SHOW GRANTS FOR 'test_user'@'%'
需先登录Root用户。
-- 切换到存储用户名和密码的`mysql`数据库
> USE mysql;
-- 更新`mysql`数据库中的`user`表单
-- 将`test_user`的密码修改为`newpassword123`,密码用PASSWORD()函数加密
MariaDB [mysql]> UPDATE user
MariaDB [mysql]> SET password=PASSWORD('newpassword123') WHERE user='test_user';
-- 刷新用户权限列表
MariaDB [mysql]> flush privileges;
-- 进入名为`test_db`的数据库
MariaDB [(none)]> USE test_db;
-- 查看`test_db`中的**所有表单**:
MariaDB [test_db]> SHOW TABLES;
-- 退出当前数据库
> EXIT;
-- 登录MariaDB后,使用查看编码命令:
> show variables like "%character%";
最终编码要与上表显示一致,重要的是Client和Server编码要是UTF-8。
$ vi /etc/my.cnf.d/server.cnf
[mysqld]
下添加如下代码[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
$ vi /etc/my.cnf.d/mysql-clients.cnf
[mysql]
下添加如下代码[mysql]
default-character-set=utf8
$ systemctl restart mariadb
参考链接:
-- 1.登陆MariaDB,输入以下命令,查看mysql当前时区
> show variables like '%time_zone%';
-- 显示如下
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+
-- 2.修改时区
> set global time_zone = '+8:00'; -- 修改mysql全局时区为北京时间,即我们所在的东8区
> set time_zone = '+8:00'; -- 修改当前会话时区
> flush privileges; -- 立即生效
# 1.打开server.cnf文件
$ vim /etc/my.cnf.d/server.cnf
# 2.在server.cnf中的[mysqld]下添加如下代码
[mysqld]
default-time_zone = '+8:00'
# 3.重启MariaDB使修改生效
$ systemctl restart mariadb
-- 登陆MariaDB,输入以下命令
> show variables like '%time_zone%';
-- 显示如下,说明修改已生效
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | +08:00 |
+------------------+--------+