mysql基础
2019-08-14 本文已影响0人
looney
1. mysql用户权限
mysql执行.sql文件方式
source 文件路径
新建用户并分配权限
1、插入权限表
insert mysql.user .....
2、更改权限
grant all privileges on db_fipp_config.* to 'att_query'@'10.123.103.133' identified by 'att_query';
3、刷新权限,使立即生效
FLUSH PRIVILEGES
2. insert时出现主键冲突的处理方法
- 遇主键冲突,保持原纪录,忽略新插入的记录。
insert ignore into
- 遇主键冲突,替换原纪录,即先删除原纪录,后insert新纪录
replace into
- ON DUPLICATE KEY UPDATE
insert into ... ON DUPLICATE KEY UPDATE
其实这个是原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成:
IF (SELECT * FROM where 存在) {
UPDATE SET WHERE ;
} else {
INSERT INTO;
}
3. mysql更新帐户密码
- 登陆服务器,特殊模式重启mysql
a)停止运行的mysql(bin目录启动)
./mysqladmin shutdown&
带参数启动
./mysqld_safe --skip-grant-tables &
请注意最后一个 & 号,必须要加
b)或者直接修改配置,vim /etc/my.cnf 在[mysqld]下添加skip-grant-tables,然后重启,修改完成后恢复配置
- 启动后通过mysql命令直接进入,不需要密码.设置新密码即可
mysql
mysql> use mysql ;
mysql> update user set password=password('xinmima') where user='root';
mysql> exit
恢复配置,重新启动mysql
./mysqladmin shutdown&
./mysqld_safe&
此时,再通过新密码连接数据库就没问题了。