1.配置


修改监听地址、端口

[mysqld]
bind-address = 127.0.0.1
port = 3306
user = mysql
#skip-networking

启动服务

# mysqld --basedir=/mysql --datadir=/data/ --user=mysql --bind-address 127.0.0.1 --port=3306 --socket=./mysql.sock
socket文件位置相对于数据目录

本地使用的库,启动如下

# /usr/local/mysql/bin/mysqld --user=mysql --skip-networking &



2.创建、使用数据库


查看当前存在的数据库
mysql> SHOW DATABASES;
访问数据库
mysql> USE test
下放数据库权限/从40用tri用户名访问test库
mysql> GRANT ALL ON test.* TO 'tri'@'172.16.36.40';


2.1.建库

创建库
mysql> create database db_blog_donatello;
连接到mysql会话时,没有当前数据库,每次需要指定一次
mysql> use db_blog_donatello

可以在连接到会话前在命令行指定默认库,库名跟在任意参数后
[view@tri ~]$ mysql -uroot -p db_blog_donatello
验证当前库
mysql> select database();


2.2.建表

创建表
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
验证期望创建的表
mysql> describe pet;



3.服务器管理


3.1.配置参数

topics:

  ●参数可以在命令行设定、也可以在配置文件设定

  ●服务器接收一些系统变量,有些可以在运行时修改生效

  ●服务器包含一些状态变量


了解服务器的命令行参数、及系统变量
[view@tri ~]$ /usr/local/mysql/bin/mysqld --verbose --help
查看运行时服务器系统变量
[view@tri work]# mysqladmin variables | grep  report
[view@tri work]# mysqladmin variables | grep  basedir
[view@tri work]# mysqladmin variables | grep  bind-address
[view@tri work]# mysqladmin variables | grep  datadir



4.添加用户


  登录默认账户,看看当前被授予的权限。

本地root登录
[view@tri ~]$ mysql -uroot

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> show grants for 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql>


4.1.用户权限

MySQL权限
对象
备注
ALL PRIVILEGES
grobal、table
不包括GRANT OPTION
ALTER
table

该权限允许使用“alter table”修改表结构;同时要求具有create & insert权限。

重命名表,要求旧表有alter & drop权限,新表有create & insert权限。

ALTER ROUTINE
procedures & functions
用来alter、drop存储例程
CREATE
db,table,index
允许创建库、表、索引
CREATE ROUTINE
procedures & functions创建存储例程
CREATE TABLESPACE
表空间、日志文件组
用来创建、修改、删除表空间、日志文件组。
CREATE TEMPORARY TABLES

使用create temporary table新建一个临时表
CREATE USER
用户账户
授予了该权限,可以进行这些操作:“alter user”,“create user”,“drop user”,“rename user”,“revoke all privileges”。
CREATE VIEW
view
创建视图
DELETE
rows
删除表行
DROP
database,table,view

EVENT


EXECUTE
procedures & functions用来执行
FILE

读写服务器上的文件
GRANT OPTION


INDEX
table
创建、删除索引。包含于create权限
INSERT
row

LOCK TABLES


PROCESS


PROXY


REFERENCES


RELOAD
flush语句
REPLICATION_CLIENT


REPLICATION_SLAVE


SELECT


SHOW DATABASES


SHOW VIEW


SHUTDOWN


SUPER

▲修改系统变量

▲启停复制

TRIGGER

需要对于表有create、drop、execute、display。

UPDATE
row


4.2.管理用户

4.2.1.create user

  创建用户,需要有全局“CREATE USER”权限,新创建的用户没有任何权限。创建一个本地账户:

mysql> create user 'qing'@'localhost' identified by 'bo';
mysql> show grants for 'qing'@'localhost';
+-------------------------------------------------------------------------------------------------------------+
| Grants for qing@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'qing'@'localhost' IDENTIFIED BY PASSWORD '*C80D24DD8EDE0F6A81EB244D59FFB7100DA07D07' |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


修改当前用户密码
mysql> set password = password('king');
修改其他用户密码
mysql> set password for 'king'@'localhost' = password('king');


4.2.2.drop user

  删除用户

mysql> drop user 'qing'@'localhost';


4.2.3.grant

mysql> grant all on blog.* to 'king'@'localhost' with grant option;




wKiom1XqdbCA1Gz0AABm5lAGjro861.jpg