rpm -qa | grep mysql
systemctl status mysqld
# 或 service mysqld status
systemctl start mysqld
# 方式一:mysqladmin(需知舊密碼)
mysqladmin -u root -p'old_pwd' password 'NewPwd#123'
# 方式二:安全模式跳過權限表重置(忘記密碼時)
systemctl stop mysqld
mysqld_safe --skip-grant-tables &
mysql -u root
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('NewPwd#123') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql -u root -p'NewPwd#123'
SHOW DATABASES;
USE mysql;
SHOW TABLES;
DESC user; -- 或 SHOW COLUMNS FROM user; SHOW CREATE TABLE user;
-- 僅本地
CREATE USER 'app'@'localhost' IDENTIFIED BY 'AppPwd#123';
GRANT ALL PRIVILEGES ON smartdb.* TO 'app'@'localhost';
FLUSH PRIVILEGES;
-- 允許遠程(% 通配符)
CREATE USER 'app'@'%' IDENTIFIED BY 'AppPwd#123';
GRANT ALL PRIVILEGES ON smartdb.* TO 'app'@'%';
FLUSH PRIVILEGES;
CREATE DATABASE smartdb;
USE smartdb;
CREATE TABLE p2p_tb_camera (
ipc_id CHAR(7) NOT NULL PRIMARY KEY,
sn VARCHAR(16) NOT NULL,
entid VARCHAR(20) NOT NULL,
enc VARCHAR(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入(全列)
INSERT INTO p2p_tb_camera VALUES ('758871','01AE465D08141280','1426822572_e3575b','enc_val');
-- 插入(指定列,其餘需有 DEFAULT 或允許 NULL)
INSERT INTO p2p_tb_camera (ipc_id, sn) VALUES ('123456','sn_val'); -- 若 entid/enc 無 DEFAULT 會報錯
-- 查詢
SELECT * FROM p2p_tb_camera;
-- 更新
UPDATE p2p_tb_camera SET sn='111' WHERE ipc_id='758871' AND entid='1';
-- 刪除
DELETE FROM p2p_tb_camera WHERE ipc_id='758871' AND sn='111';
DROP TABLE p2p_tb_camera;
DROP DATABASE smartdb;
mysql> SOURCE /opt/scripts/create_tables.sql;
-- 修改密碼
UPDATE mysql.user SET authentication_string=PASSWORD('NewPwd') WHERE User='app';
FLUSH PRIVILEGES;
-- 刪除用戶
DROP USER 'app'@'localhost';
DROP USER 'app'@'%';
-- 僅回收權限
REVOKE ALL PRIVILEGES ON smartdb.* FROM 'app'@'localhost';
避坑提示:
authentication_string,非舊版 password。%。validate_password 插件強制密碼複雜度。