返回
数据
分类

必赢手机登录网址我们使用的启动命令是,今在服务器上 有mysql

日期: 2020-01-02 07:53 浏览次数 : 62

在服务器上安装好mysql之后,一般都需要做下面几件事情:

今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库。
方案一
在安装mysql的机器上运行:
1: 创建user用户

  1. 启动mysql server
  2. 设置root用户和添加一些访问用户
  3. 设置用户权限
  4. 配置非本地连接访问
  5. 备份数据或者迁移数据
  6. 一些注意事项(不断更新)

复制代码 代码如下:

一、启动mysql server
通常情况下,我们使用的启动命令是:

CREATE USER demo IDENTIFIED BY “123456”

复制代码 代码如下:

2、

service mysqld start

复制代码 代码如下:

常见的一个问题就是抛:Timeout error occurred trying to start MySQL Daemon 

mysql>GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限,也可以如下操作
GRANT ALL PRIVILEGES ON shandong.*必赢手机登录网址 , TO 'demo'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

解决的办法也很简单:直接执行即可 

3、

复制代码 代码如下:

复制代码 代码如下:

/usr/bin/mysql_install_db 

mysql>FLUSH PRIVILEGES
//修改生效

目录可能会不一样,这个默认安装一般就在这里。

4、

查看mysql的服务状态:

复制代码 代码如下:

复制代码 代码如下:

mysql>EXIT
//退出MySQL服务器,这样就可以在其它任何的主机上以demo身份登录

/etc/rc.d/init.d/mysqld status

引用
另外,当用客户端连接 mysql 时,发现无法连接,看来需要对用户进行重新授权。操作如下:
[[email protected] mysql]# bin/mysql -uroot -p -h 127.0.0.1 -A cws3
Enter password:
Welcome to the MySQL monitor. Commands end with or /g.
Your MySQL connection id is 1863 to server version: 4.1.20-standard
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql> grant ALL PRIVILEGES ON *.* to [email protected]"%" identified by "mysql" ;
Query OK, 0 rows affected (0.17 sec)
发现这样更改权限以后,远程仍然不能连接,但是用下面的操作就可以了。
mysql> grant ALL PRIVILEGES ON *.* to [email protected]"%" identified by "mysql" WITH GRANT OPTION;
Query OK, 0 rows affected (0.17 sec)
此刻, root 可以被远程连接,当然这里建立其他非 root 用户也可以远程连接。

二、设置root用户和添加一些访问用户
默认安装后,mysql的root账户是没有密码的。一般为了安全,都会给root设置一个密码:

方案二
MySQL 1130错误解决方法:
通过MySQL-Front或MySQL administrator连接MySQL的时候发生的这个错误
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 MySQL 数据库里的 user表里的 host项
把localhost改称%

复制代码 代码如下:

具体步骤:登陆到MySQL
首先 use MySQL;
按照别人提供的方式update的时候,出现错误。
MySQL> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后查看了下数据库的host信息如下:
MySQL> select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已经有了%这个值,所以直接运行命令:

mysql> update user set password=PASSWORD('123456′) where User='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

复制代码 代码如下:

三、设置用户权限
当然,mysql是提供给用户使用的,需要新增一个用户给大家使用:

MySQL>flush privileges;

复制代码 代码如下:

再用MySQL administrator连接...成功!!

mysql> insert into mysql.user(Host,User,Password) values(‘localhost','admin',password(“admin”));
Query OK, 1 row affected, 3 warnings (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库。...

现在新增了一个用户 admin/admin, 但是用户暂时还没有分配任何的权限。

复制代码 代码如下:

mysql> grant ALL on *.* to [email protected]”%” Identified by “admin”;
Query OK, 0 rows affected (0.00 sec)

%代表任何主机,当然也可以只赋予:select,insert,update,delete 这些操作权限:

复制代码 代码如下:

mysql> grant select,insert,update,delete on *.* to [email protected]”%” Identified by “admin”;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

四、配置非本地连接访问
   默认情况下,远程用户访问本地的数据库是不背允许的,需要执行命令,赋予任何主机或相关主机访问数据的权限:

复制代码 代码如下:

   mysql> update user set host = ‘%' where user = ‘admin';

   在任何主机上都可以使用admin这个用户访问数据。

   或者:

复制代码 代码如下:

   mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root'@'%' WITH GRANT OPTION

五、备份数据或者迁移数据
     一般使用mysqldump比较方便

六、注意事项
      linux下mysql默认表名是要区分大小写的,如果需要改称不区分大小写的,需要按下面步骤修改。

1). 用root登录,修改 /etc/my.cnf
2). 在[mysqld]下加入一行: lower_case_table_names=1
3). 重新启动数据库即可    

  1. 启动mysql server 2. 设置root用户和添加一些访问用户 3. 设置用户权限 4. 配置非本...