linux服务器mysql弱密码_mysql常见问题

1.创建数据库mysql

linux:

1.create database dcs;#CREATE DATABASE aaa DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

2.grant select,insert,update,delete,create,drop,alter,create view,show view,trigger,references on dcs.* to dcs@'%' identified by 'dcs'; #with grant option

(3.set password for dcs@'%' = password('dcs');#修改密码)

4.flush privileges;

2.迁移mysql数据目录(因mysql数据所在磁盘满了)

service mysql stop 或者service mysqld stop

去/etc/my.cnf中修改datadir的值为要迁移到的目录

chown mysql:mysql /data/mysql

由于linux是6版本的问题,有一个权限问题,运行:setenforce 0

拷贝原来的mysql数据文件到新目录

service mysql start

3.基本操作

登录mysql:mysql -uroot -p

显示数据库:show databases;

显示数据表:use mysql

show tables;

创建只读用户:grant select on ycb_test.* to readonly@'%' identified by 'readonly';

4.主从同步

1.主:grant all privileges on *.* to 'replication'@'%' identified by 'dcs';

flush privileges;

2.从:server-id = 112

#replicate-wild-ignore-table=mysql.%

#log-slave-updates #这个有需要可以开启

然后service mysql restart

STOP SLAVE;

3.主:server-id=113

log-bin

binlog-do-db=dcs

#binlog-do-db=mysql

log-bin-trust-function-creators=1

然后service mysql restart

3.主:mysqldump -uroot -p --lock-tables --add-drop-table --events --skip-triggers --routines --flush-logs --master-data=1 --databases dcs mysql --log-error=dumperror.log > db.sql

rsync /home/dcs/db.sql root@192.168.78.112:/home/dcs/

4.从:

(create database dcs DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;)

mysql < db.sql (source /home/dcs/db.sql(若无权限,拷贝到mysql能访问目录下执行))

#grant all privileges on *.* to replication@'%' identified by 'dcs';

5.从:(# grep -i "change master" db.sql

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=106;

生成CHANGE MASTER语句,然后在mysql上执行)

(show slave status;)

CHANGE MASTER TO MASTER_HOST='192.168.78.113',MASTER_USER='replication',MASTER_PASSWORD='dcs',MASTER_LOG_FILE='localhost-bin.000006', MASTER_LOG_POS=120;

START SLAVE;

6.从: SHOW SLAVE STATUS;

查看Slave_IO_Running和Slave_SQL_Running的状态,如果都为Yes,那么就成功了。

注意:不要将同步的信息写入配置文件中,这样不方便管理,尤其是有变动需要重启。

note:

查看状态show master status; show slave status\G;

5.mysql中文会有乱码问题

show variables like 'character%'; character_set_database和character_set_server的值为latin1,并不是utf8,中文会有乱码问题

解决:

service mysqld stop

vim /etc/my.cnf

character_set_server=utf8

init_connect=‘SET NAMES utf8‘

然后service mysqld start

再看结果show variables like ‘character%‘;

6.replace into的坑

先尝试insert,如果主键存在,会先删除再新增,而主从同步的binlog中做update操作。

问题:1.如果表中存在自增长列,则该列值会发生变化,造成主库前后数据不一致,与从库数据也不一致。

2.如果只填了表中的几个列,其余列的数据会全部丢失。

7.not in 坑

not in集合中不允许有null值,否则查不出来数据。

8.忘记root密码怎么办(windows mysql 5.7 )

需要停服,以无权限模式来运行,重置root密码,然后重启服务

在计算机管理的服务中找到mysql,停止服务

打开cmd窗口

mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables

mysql -uroot -p

use mysql

update user set authentication_string = password('root') where user = 'root'; #5.1中字段叫password

FLUSH PRIVILEGES;

关闭cmd窗口

服务中开启mysql

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值