通过 {pd-ip}:{pd-port}/dashboard 登录 TiDB Dashboard,登录用户和口令为 TiDB 数据库 root 用户和口令。如果你修改过数据库的 root 密码,则以修改后的密码为准,默认密码为空。
1,传统修改密码方式,引发的问题
集群有3个tidb节点tidb1,tidb2,tidb3
往tidb1连接,执行命令
USE mysql;
UPDATE user SET Password = PASSWORD('password') WHERE user = 'root';
FLUSH PRIVILEGES;
在tidb1连接,需要连接使用-uroot -P4000 -p'password',在tidb2,和tidb3使用上面的命令不能连接,不带-ppassword则可以连接
这个问题本人没有去验证,只是看到官方的github上面有说人问。得到的回复是,按照官方文档来
2,修改root账号
- [tidb@jiankong ~]$ mysql -u root -p -P 4000 -h 10.0.10.18
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 69
- Server version: 5.7.25-TiDB-v4.0.8 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible
- Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | INFORMATION_SCHEMA |
- | METRICS_SCHEMA |
- | PERFORMANCE_SCHEMA |
- | mysql |
- | test |
- +--------------------+
- 5 rows in set (0.00 sec)
- mysql> use mysql
- Reading table information for completion of table and column names
- You can turn off this feature to get a quicker startup with -A
- Database changed
- mysql> select * from user\G;
- *************************** 1. row ***************************
- Host: %
- User: root
- authentication_string:
- Select_priv: Y
- Insert_priv: Y
- Update_priv: Y
- Delete_priv: Y
- Create_priv: Y
- Drop_priv: Y
- Process_priv: Y
- Grant_priv: Y
- References_priv: Y
- Alter_priv: Y
- Show_db_priv: Y
- Super_priv: Y
- Create_tmp_table_priv: Y
- Lock_tables_priv: Y
- Execute_priv: Y
- Create_view_priv: Y
- Show_view_priv: Y
- Create_routine_priv: Y
- Alter_routine_priv: Y
- Index_priv: Y
- Create_user_priv: Y
- Event_priv: Y
- Trigger_priv: Y
- Create_role_priv: Y
- Drop_role_priv: Y
- Account_locked: N
- Shutdown_priv: Y
- Reload_priv: Y
- FILE_priv: Y
- Config_priv: Y
- 1 row in set (0.00 sec)
- ERROR:
- No query specified
- mysql> set password for 'root'@'%' = '************'; //参考官方文档
- Query OK, 0 rows affected (0.02 sec)
- mysql> flush privileges;
- Query OK, 0 rows affected (0.01 sec)
各个tidb节点都是可以登录的
3,添加用户,分配权限
- mysql> create database `tank_test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- Query OK, 0 rows affected (1.52 sec)
- mysql> use tank_test;
- Database changed
- mysql> CREATE TABLE `test` (
- -> `test_id` int(4) UNSIGNED NOT NULL COMMENT 'ID',
- -> `test_name` varchar(50) NOT NULL DEFAULT '' COMMENT '名称'
- -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试';
- Query OK, 0 rows affected (1.52 sec)
- mysql> CREATE USER tank@"%" IDENTIFIED BY 'tank';
- Query OK, 0 rows affected (0.05 sec)
- mysql> GRANT ALL PRIVILEGES ON tank_test.* TO tank@'%';
- Query OK, 0 rows affected (0.03 sec)
- mysql> flush privileges;
- Query OK, 0 rows affected (0.00 sec)
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/tidb/2452.html