删除MySQL 账号
use mysql delete from user where user='xiewenming';
授权账号密码
GRANT SELECT,INSERT,UPDATE,DELETE ON ambari.* TO 'ambariuser'@'192.168.251.0/255.255.255.0' IDENTIFIED BY '898FAG8Aw9uy'; FLUSH PRIVILEGES; GRANT SELECT,INSERT,UPDATE,DELETE ON hive.* TO 'hiveuser'@'192.168.251.0/255.255.255.0' IDENTIFIED BY '999FAG89Awuy'; FLUSH PRIVILEGES;
授权已有账号到主机
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; FLUSH PRIVILEGES;
导入SQL文件
mysql> source /home/xiewenming/cm_checkout_result.sql; Connection id: 952012507 Current database: cms Query OK, 0 rows affected (0.00 sec)
创建数据库设置字符集
create database hive character set utf8 ;
导入数据库(windows 的数据文件到linux下面可能会乱码)
1、首先建空数据库
mysql>create database abc;
2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql
今天监控显示mysql主从复制出错了,信息如下:
mysql> show slave statusG; *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.33.230 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000774 Read_Master_Log_Pos: 202924128 Relay_Log_File: 192-168-33-236-relay-bin.000065 Relay_Log_Pos: 202924292 Relay_Master_Log_File: master-bin.000774 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 202924128 Relay_Log_Space: 202924521 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from position > file size; the first event 'master-bin.000774' at 202924128, the last event read from './master-bin.000774' at 4, the last byte read from './master-bin.000774' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: f7c24af7-a54a-11e6-88b4-525400169c04 Master_Info_File: /Data/mysql/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: 170817 15:37:11 Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 1 row in set (0.00 sec) ERROR: No query specified
在mysql.cnf里面有一句跳过经常出现的错误,但是还是报了1236错误
slave-skip-errors = 1062,1091,1396,1050,1060,1054,1146,1236
尝试stop slave ; start slave 还是没有恢复
然后就照着上面的错误提示更新pos点
mysql> stop slave; Query OK, 0 rows affected (0.01 sec) mysql> change master to master_log_file='master-bin.000774', master_log_pos=4; Query OK, 0 rows affected (0.12 sec) mysql> start slave; Query OK, 0 rows affected (0.00 sec)
然后查看状态就恢复正常了,具体原因再慢慢分析,,,,,,,
有时候还会报下面这个信息
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'could not find next log; the first event 'mysql-bin.001891' at 897184977, the last event read from './mysql-bin.001891' at 1109808979, the last byte read from './mysql-bin.001891' at 1109808979.' 上面这个错误尝试stop slave ; start slave 就恢复了
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '99wuy' WITH GRANT OPTION;
grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@’%’
9>.grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 MySQL 数据表结构权限。
grant create on testdb.* to developer@’192.168.0.%’;
grant alter on testdb.* to developer@’192.168.0.%’;
grant drop on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 外键权限。
grant references on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 临时表权限。
grant create temporary tables on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 索引权限。
grant index on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 视图、查看视图源代码 权限。
grant create view on testdb.* to developer@’192.168.0.%’;
grant show view on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 存储过程、函数 权限。
grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status
grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure
grant execute on testdb.* to developer@’192.168.0.%’;
10>.grant 普通 DBA 管理某个 MySQL 数据库的权限。
grant all privileges on testdb to dba@’localhost’
其中,关键字 “privileges” 可以省略。
11>.grant 高级 DBA 管理 MySQL 中所有数据库的权限。
grant all on *.* to dba@’localhost’
12>.MySQL grant 权限,分别可以作用在多个层次上。
1. grant 作用在整个 MySQL 服务器上:
grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
2. grant 作用在单个数据库上:
grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
3. grant 作用在单个数据表上:
grant select, insert, update, delete on testdb.orders to dba@localhost;
4. grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5. grant 作用在存储过程、函数上:
grant execute on procedure testdb.pr_add to ’dba’@’localhost’
grant execute on function testdb.fn_add to ’dba’@’localhost’
注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。use mysql;
show grants for 'xxx'@'118.193.22.138/255.255.255.255';
grant drop on monkey_admin.* to 'xxx'@'118.193.22.138/255.255.255.255';
flush privileges;
MariaDB [thrurls]> select * from yourls_url where url="http://2pchat.mo.cool/2pinvite_listen2/BgMJAQECAQ" -> ; +----------+-------------------------------------------------------+--------+---------------------+----------------+--------+ | keyword | url | title | timestamp | ip | clicks | +----------+-------------------------------------------------------+--------+---------------------+----------------+--------+ | y-h-64ax | http://2pchat.mo.cool/2pinvite_listen2/BgMJAQECAQ | Monkey | 2018-11-28 14:10:54 | 54.149.220.216 | 0 | +----------+-------------------------------------------------------+--------+---------------------+----------------+--------+ 1 row in set (25.47 sec)
explain分析
MariaDB [thrurls]> explain select * from yourls_url where url="http://2pchat.monkey.cool/2pinvite_listen2/BgMJAQECAQ"; +------+-------------+------------+------+---------------+------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+------------+------+---------------+------+---------+------+--------+-------------+ | 1 | SIMPLE | yourls_url | ALL | NULL | NULL | NULL | NULL | 613317 | Using where | +------+-------------+------------+------+---------------+------+---------+------+--------+-------------+ 1 row in set (0.00 sec)
添加索引
ALTER TABLE yourls_url ADD INDEX idx_url (url(50));
再次查询
MariaDB [thrurls]> select * from yourls_url where url="http://2pchat.monkey.cool/2pinvite_listen2/BgMJAQECAQ"; +----------+-------------------------------------------------------+--------+---------------------+----------------+--------+ | keyword | url | title | timestamp | ip | clicks | +----------+-------------------------------------------------------+--------+---------------------+----------------+--------+ | y-h-64ax | http://2pchat.monkey.cool/2pinvite_listen2/BgMJAQECAQ | Monkey | 2018-11-28 14:10:54 | 54.149.220.216 | 0 | +----------+-------------------------------------------------------+--------+---------------------+----------------+--------+ 1 row in set (0.00 sec)
按照时间排序
select * from yourls_url order by timestamp desc limit 100 ;