Linux开发——Mysql服务(二)日常操作和部分故障解决办法

日常操作

授权后远端无法访问解决办法

无法中文保存解决方法

忘记密码怎么办


日常操作

修改密码:mysqladmin -u root -p password 123   回车后输入原来的密码

查看创建表语句                       show create table user;

查看某个表有多少字段             desc user;

查看一个表中有多少行             select count(*) from user;

查看一个表的前多少行             select * from user limit 2;

将一个旧的表名命名成一个新的表名,alter table user rename users;

删除一个表                                drop table user;

将什么权限,那个数据库,那个表 授权用户的连接地址 和密码(远程访问授权)设置完成后需要 flush privileges; 命令刷新权限

grant all on test.* to root@'192.168.10.110' identified by '1';

mysql远程登录命令: mysql -h192.168.10.127 -uroot -p1

在mysql数据库中修改用户名密码,user表,如下

update user set authentication_string=password('123'),user='wd' where host='192.168.10.110';

修改用户名称后,需要从新给用户加权限

修改某个表的编码格式:alter table user default character set utf8;

修改某个表的某个字段的编码格式  且不为空:

          alter table info change value value varchar(10) character set utf8 not null;

数据库备份:mysqldump -uroot -p test>/home/wd/projects/haha.sql  输入密码 备份完成

删除数据库:drop database test;

创建数据库并指定编码格式:create database test charset=utf8;

数据库恢复:

方法一:创建数据库test,退出执行,mysql -uroot -p test<haha.sql 

方法二:进入mysql 创建数据库test,use test; 然后source haha.sql; 执行语句

授权后远端无法访问解决办法

1.检查端口是否开发:netstat -an|grep 3306  如下图则未打开其他地址连接

2.打开配置文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf

确定端口为3306,或者其他,注释掉bind-address 地址绑定

3.这一步可以不操作,查看mysql表user的权限,如下图权限已经添加。可以将host修改为%,则来自所有地址的root用户都可以连接,很危险,不推荐。

4.重启服务器。service mysql restart

   查看3306端口连接状态,如下图连接已允许我上面grant授权的地址使用。

提示:如果使用Navicat等工具连接会报错,但不用理会,它们默认扫描所有数据库,但我只开放了test数据库的授权,将错误插掉。以后登录就不在提示了。

无法中文保存解决方法

查看数据库支持编码格式命令:show variables like '%char%';

1.打开文件vim /etc/mysql/mysql.conf.d/mysqld.cnf  修改参数[mysqld],在它的下面添加一条character-set-server=utf8,重启服务再建数据库就可以使用中文了。

或者设置

    set character_set_server=utf8;
    set character_set_database=utf8;

2.建表的时候在最后面添加 字符集选项   default charset=utf8

create table analysis(city varchar(20),companySize varchar(20),education varchar(20))default charset=utf8;

忘记密码怎么办

关闭mysql:/etc/init.d/mysql stop

1.执行下面命令,跳过权限表

/usr/bin/mysqld_safe --user=mysql --skip-grant-tables &

如果不成功:执行这两条命令,后执行上面这条命令

          mkdir -p /var/run/mysqld
          chown mysql:mysql /var/run/mysqld

执行成功后直接执行   mysql   可以直接进入数据库

用上文提到的修改mysql库的用户密码方法修改密码。

quit 退出后,懒的话就重启电脑,不懒就用下面的方法杀死进程后重启服务

         查看进程命令: ps -ef |grep safe

         杀死进程命令:kill -9 pid;       pid为上面查看到的进程id

         重启服务:/etc/init.d/mysql start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值