mysql应用服务器安装失败_安装mysql服务器及常见错误处理

这是一篇在centos 6 Linux系统上安装Mysql server的记录。

https://dev.mysql.com/downloads 下载

安装mysql服务

rpm -ivh MySQL-server-5.6.42-1.el6.i686.rpm

安装mysql命令行客户端

rpm -ivh MySQL-client-5.5.62-1.el6.i686.rpm

启动

service mysql start

查看端口

netstat -anp |grep 3306

修改root密码/忘记root密码

service mysql stop

# mysqld_safe --skip-grant-tables &

# mysql

mysql> use mysql;

mysql> UPDATE user SET password=password("123") WHERE user='root';

mysql> flush privileges;

mysql> exit;

ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supp

解决办法:

service mysql stop

先通过跳过授权表的方式启动数据库:

mysqld_safe --skip-grant-tables --skip-networking &

这样就可以免密码登录了。

mysql

然后修改该用户密码过期策略为N:

use mysql

update user set password_expired="N" where user="root";

flush privileges;

exit

重启数据库即可。

service mysql restart

1.新建用户。

//登录MYSQL

@>mysql -u root -p

@>密码

//创建用户

mysql> GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

//刷新系统权限表

mysql>flush privileges;

这样就创建了一个名为: user01 密码为: 12345656 的用户。

2.为用户授权。

//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.

@>mysql -u root -p

@>密码

//首先为用户创建一个数据库(Data01)

mysql>create database Data01;

//授权user01用户拥有user01数据库的所有权限。

>grant all privileges on Data01.* to user01@localhost identified by '123456';

//刷新系统权限表

mysql>flush privileges;

mysql>其它操作

---------------------------------------------------------------------------

/*

如果想指定部分权限给一用户,可以这样来写:

mysql>grant select,update on user01DB.* to user01@localhost identified by '123456';

//刷新系统权限表。

mysql>flush privileges;

*/

3.删除用户。

@>mysql -u root -p

@>密码

mysql>DELETE FROM user WHERE User="user01" and Host="localhost";

mysql>flush privileges;

//删除用户的数据库

mysql>drop database user01DB;

4.修改指定用户密码。

@>mysql -u root -p

@>密码

mysql>update mysql.user set password=password('新密码') where User="user01" and Host="localhost";

mysql>flush privileges;

===========================================================================

然后登录一下。

mysql>exit;

@>mysql -u user01 -p

@>输入密码

mysql>登录成功

//显示所有数据库

mysql> show databases;

//切换数据库

mysql> use Data01

//新建表测试

CREATE TABLE IF NOT EXISTS `Player` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`playerID` int(11) NOT NULL COMMENT '玩家ID'

PRIMARY KEY (`ID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

//查看表结构

mysql> desc Player;

+------------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+------------+----------+------+-----+---------+----------------+

| ID | int(11) | NO | PRI | NULL | auto_increment |

| playerID | int(11) | NO | | NULL | |

+------------+----------+------+-----+---------+----------------+

//插入数据测试

mysql> INSERT INTO `Player` (`ID`, `playerID`) VALUES (NULL, '100001');

一些错误处理

报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2、mysql>FLUSH PRIVILEGES //修改生效

3、mysql>EXIT //退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦!

解决 SELECT command denied to user 'root'@'192.168.1.47' for table 'user'的报错。mysql用户权限修改,表权限修改。

select * from mysql.user;

修改权限的SQL语句是:(语句你自己根据自己ip修改)

UPDATE mysql.user SET select_priv='Y' , insert_priv='Y', update_priv='Y', DELETE_priv='Y' WHERE HOST='%';

FLUSH PRIVILEGES;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值