Home >Operation and Maintenance >Linux Operation and Maintenance >Basic steps to troubleshoot MySQL inaccessibility under Linux

Basic steps to troubleshoot MySQL inaccessibility under Linux

黄舟
黄舟Original
2017-05-31 11:29:111962browse

Problem Description


This article explains the inability to access the MySQL problem on cloud server ECS Linux General troubleshooting steps.

Solution


  1. Check whether the Linux operating system has installedMySQL

    $ rpm -qa mysql
    mysql-4.1.7-4.RHEL4.1
    
    # 说明已经安装了 MySQL

  2. Check Status
    Detect MySQL running status:

    service mysqld status

  3. ## Start the service: You can use three methods to start MySQL:

    1. ##Method 1: Use the service command to start MySQL:
    2. service mysqld start



    3. ##Method 2: Use the mysqld script to start MySQL:
    4. /etc/init.d/mysql start

    5. ##Method 3: Use the safe_mysqld utility to start the MySQL service. This method can use relevant parameters:

      safe_mysqld& //使用&表示将safe_mysqld放在后台执行。


  4. ##Login


  5. Change password

  6. mysqladmin -u root password
    mysqladmin -u root password 'kaishi'
  7. The "password" here is the new password we want to set. The system will prompt us to enter the old password (if MySQL has just been installed, the default password is empty)

    If the local machine can log in, but the client of other machines Login error. For example:
  8. ERROR 1130 (00000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQ
    L server
First check the iptables settings and confirm that port 3306 is open:

iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
service iptables save

If it is still inaccessible, it may be a permission issue with MySQL. You can troubleshoot through the following steps:

Log in on this machine

mysql -h localhost -u root -pkaishi
show databases;
use mysql;
select Host, User, Password from user;
+-----------------------+------+-------------------------------------------+
| Host | User | Password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A |
| localhost.localdomain | root | |
| localhost.localdomain | | |
| localhost | | |
+-----------------------+------+-------------------------------------------+

    You can see the above results. Only localhost has access permissions set.

  1. ##Enter MySQL and create a new user user:

    Format: grant permission on database name. table name user @Login hostident
    if

    ied by "user password".
  2. grant select,update,insert,delete on easyview.* to sillycat@192.168.10.103 identified by "kaishi";

  3. To view the results, execute:

    use mysql;
    select host,user,password from user;

    You can see that the user user just created is already in the user table. The host field indicates the logged-in host. Its value can be IP or host name. Changing the value of the host field to % means that you can log in to the mysql server as user
  4. on any client machine. It is recommended. Set to % during development.

  5. After modifying the permissions, you need to execute the following statement to take effect:
  6. update user set host = '%' where user = 'sillycat';
    flush privileges;


The above is the detailed content of Basic steps to troubleshoot MySQL inaccessibility under Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn