Centos7安装使用Mysql(mariadb)
安装
shell> yum install mariadb-server -y
配置
# 修改文件 /etc/my.cnf [mysqld]
datadir=/mydata/data/mysql
character-set-server=utf8 # 默认字符集(据说utf8mb4才是真正的UTF8字符集)
collation-server=utf8_general_ci # 默认排序规则(同上对应的是utf8mb4_general_ci)
[mysqld_safe] log-error=/mydata/logs/mariadb/mariadb.log
# 创建必要的目录
shell> mkdir -p /mydata/data/mysql /mydata/logs/mariadb
shell> chown -R mysql:mysql /mydata/data/mysql
shell> chown -R mysql:mysql /mydata/logs/mariadb
启动
shell> systemctl enable mariadb
shell> systemctl start mariadb
初始化
shell> mysql_secure_installation Enter current password for root (enter for none): # 默认为空,直接回车 Set root password? [Y/n] # Y,设置root密码 New password: Re-enter new password: Remove anonymous users? [Y/n] # Y,测试环境也可以n Disallow root login remotely? [Y/n] # 通常为Y,限制root只能本机登录 Remove test database and access to it? [Y/n] # Y,测试环境也可以n Reload privilege tables now? [Y/n] # Y,使初始化生效 shell> mysql -uroot -p # 输入密码后,连接到数据库
库与表
MariaDB> create database xyz; # 创建数据库xyz
MariaDB> show databases; # 显示所有数据库
MariaDB> use xyz; # 进入数据库xyz
MariaDB [xyz]> create table x (id int, name varchar(25)); # 创建表x
MariaDB [xyz]> insert into x values(1,'张三'); # 插入数据
MariaDB [xyz]> select * from x; # 查询数据
MariaDB [xyz]> desc x; # 查看表结构
MariaDB [xyz]> show create database xyz; # 查看数据库的创建语句
MariaDB [xyz]> show create table x; # 查看表的创建语句
MariaDB> drop table xyz.x; # 删除表
MariaDB> drop database xyz; #删除数据库
用户与权限
MariaDB> create user 'uu'@'%' identified by 'pwd'; # 创建用户uu,密码为pwd;%表示可以从任意机器登录,可以限定IP或主机名,这里不同会视为另一个用户
MariaDB> select user,host from mysql.user; #查看所有用户
MariaDB> show grants for 'uu'@'%'; # 查看用户的权限;默认是USAGE,可以说是没任何权限
MariaDB> grant all on *.* to 'uu'@'%'; # 授予所有数据库中所有表的全部权限;all表示所有权限;第一个*表示所有数据库;第二个*表示所有表
MariaDB> revoke all on *.* from 'uu'@'%'; #回收权限
MariaDB> grant select on xyz.x to 'uu'@'%'; # 授予数据库xyz中表x的select权限
MariaDB> rename user 'uu'@'%' to 'ee'@'localhost'; # 修改用户名
MariaDB> set password for 'ee'@'localhost'=password('123'); # 修改用户密码
MariaDB> drop user 'ee'@'localhost'; #删除用户
over