<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MySQL的常見錯誤的解決方法(英文)(1)

        來源:懂視網 責編:小采 時間:2020-11-09 14:39:35
        文檔

        MySQL的常見錯誤的解決方法(英文)(1)

        MySQL的常見錯誤的解決方法(英文)(1):Common Errors When Using MySQL Programs This section lists some errors that users frequently encounter when running MySQL programs. Although the problems show up when you try to run client programs, the solutions to many of the problems in
        推薦度:
        導讀MySQL的常見錯誤的解決方法(英文)(1):Common Errors When Using MySQL Programs This section lists some errors that users frequently encounter when running MySQL programs. Although the problems show up when you try to run client programs, the solutions to many of the problems in

        Common Errors When Using MySQL Programs This section lists some errors that users frequently encounter when running MySQL programs. Although the problems show up when you try to run client programs, the solutions to many of the problems in

        Common Errors When Using MySQL Programs
        This section lists some errors that users frequently encounter when running MySQL programs. Although the problems show up when you try to run client programs, the solutions to many of the problems involves changing the configuration of the MySQL server.

        1. Access denied
        An Access denied error can have many causes. Often the problem is related to the MySQL accounts that the server allows client programs to use when connecting. See Section 5.7.8, “Causes of Access denied Errors”. See Section 5.7.2, “How the Privilege System Works”.

        2. Can't connect to [local] MySQL server
        A MySQL client on Unix can connect to the mysqld server in two different ways: By using a Unix socket file to connect through a file in the filesystem (default /tmp/mysql.sock), or by using TCP/IP, which connects through a port number. A Unix socket file connection is faster than TCP/IP, but can be used only when connecting to a server on the same computer. A Unix socket file is used if you don't specify a hostname or if you specify the special hostname localhost.

        If the MySQL server is running on Windows 9x or Me, you can connect only via TCP/IP. If the server is running on Windows NT, 2000, XP, or 2003 and is started with the --enable-named-pipe option, you can also connect with named pipes if you run the client on the host where the server is running. The name of the named pipe is MySQL by default. If you don't give a hostname when connecting to mysqld, a MySQL client first tries to connect to the named pipe. If that doesn't work, it connects to the TCP/IP port. You can force the use of named pipes on Windows by using . as the hostname.

        The error (2002) Can't connect to ... normally means that there is no MySQL server running on the system or that you are using an incorrect Unix socket filename or TCP/IP port number when trying to connect to the server.

        Start by checking whether there is a process named mysqld running on your server host. (Use ps xa | grep mysqld on Unix or the Task Manager on Windows.) If there is no such process, you should start the server. See Section 2.9.2.3, “Starting and Troubleshooting the MySQL Server”.

        If a mysqld process is running, you can check it by trying the following commands. The port number or Unix socket filename might be different in your setup. host_ip represents the IP number of the machine where the server is running.

        shell> mysqladmin version
        shell> mysqladmin variables
        shell> mysqladmin -h `hostname` version variables
        shell> mysqladmin -h `hostname` --port=3306 version
        shell> mysqladmin -h host_ip version
        shell> mysqladmin --protocol=socket --socket=/tmp/mysql.sock version

        Note the use of backticks rather than forward quotes with the hostname command; these cause the output of hostname (that is, the current hostname) to be substituted into the mysqladmin command. If you have no hostname command or are running on Windows, you can manually type the hostname of your machine (without backticks) following the -h option. You can also try -h 127.0.0.1 to connect with TCP/IP to the local host.

        Here are some reasons the Can't connect to local MySQL server error might occur:

        mysqld is not running. Check your operating system's process list to ensure the mysqld process is present.

        You're running a MySQL server on Windows with many TCP/IP connections to it. If you're experiencing that quite often your clients get that error, you can find a workaround here: Section 2.1, “Connection to MySQL Server Failing on Windows”.

        You are running on a system that uses MIT-pthreads. If you are running on a system that doesn't have native threads, mysqld uses the MIT-pthreads package. See Section 2.1.1, “Operating Systems Supported by MySQL”. However, not all MIT-pthreads versions support Unix socket files. On a system without socket file support, you must always specify the hostname explicitly when connecting to the server. Try using this command to check the connection to the server:

        shell> mysqladmin -h `hostname` version

        Someone has removed the Unix socket file that mysqld uses (/tmp/mysql.sock by default). For example, you might have a cron job that removes old files from the /tmp directory. You can always run mysqladmin version to check whether the Unix socket file that mysqladmin is trying to use really exists. The fix in this case is to change the cron job to not remove mysql.sock or to place the socket file somewhere else. See Section A.4.5, “How to Protect or Change the MySQL Socket File /tmp/mysql.sock”.

        You have started the mysqld server with the --socket=/path/to/socket option, but forgotten to tell client programs the new name of the socket file. If you change the socket pathname for the server, you must also notify the MySQL clients. You can do this by providing the same --socket option when you run client programs. You also need to ensure that clients have permission to access the mysql.sock file. To find out where the socket file is, you can do:

        shell> netstat -ln | grep mysql

        See Section A.4.5, “How to Protect or Change the MySQL Socket File /tmp/mysql.sock”.

        You are using Linux and one server thread has died (dumped core). In this case, you must kill the other mysqld threads (for example, with kill or with the mysql_zap script) before you can restart the MySQL server. See Section A.4.2, “What to Do If MySQL Keeps Crashing”.

        The server or client program might not have the proper access privileges for the directory that holds the Unix socket file or the socket file itself. In this case, you must either change the access privileges for the directory or socket file so that the server and clients can access them, or restart mysqld with a --socket option that specifies a socket filename in a directory where the server can create it and where client programs can access it.

        If you get the error message Can't connect to MySQL server on some_host, you can try the following things to find out what the problem is:

        Check whether the server is running on that host by executing telnet some_host 3306 and pressing the Enter key a couple of times. (3306 is the default MySQL port number. Change the value if your server is listening to a different port.) If there is a MySQL server running and listening to the port, you should get a response that includes the server's version number. If you get an error such as telnet: Unable to connect to remote host: Connection refused, then there is no server running on the given port.

        If the server is running on the local host, try using mysqladmin -h localhost variables to connect using the Unix socket file. Verify the TCP/IP port number that the server is configured to listen to (it is the value of the port variable.)

        Make sure that your mysqld server was not started with the --skip-networking option. If it was, you cannot connect to it using TCP/IP.

        Check to make sure that there is no firewall blocking access to MySQL. Applications such as ZoneAlarm and the Windows XP personal firewall may need to be configured to allow external access to a MySQL server.

        2.1. Connection to MySQL Server Failing on Windows
        When you're running a MySQL server on Windows with many TCP/IP connections to it, and you're experiencing that quite often your clients get a Can't connect to MySQL server error, the reason might be that Windows doesn't allow for enough ephemeral (short-lived) ports to serve those connections.

        By default, Windows allows 5000 ephemeral (short-lived) TCP ports to the user. After any port is closed it will remain in a TIME_WAIT status for 120 seconds. This status allows the connection to be reused at a much lower cost than re-initialising a brand new connection. However, the port will not be available again until this time expires.

        With a small stack of available TCP ports (5000) and a high number of TCP ports being open and closed over a short period of time along with the TIME_WAIT status you have a good chance for running out of ports. There are two ways to address this problem:

        Reduce the number of TCP ports consumed quickly by investigating connection pooling or persistent connections where possible

        Tune some settings in the Windows registry (see below)

        IMPORTANT: The following procedure involves modifying the Windows registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, view the following article in the Microsoft Knowledge Base: http://support.microsoft.com/kb/256986/EN-US/.

        Start Registry Editor (Regedt32.exe).

        Locate the following key in the registry:

        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

        On the Edit menu, click Add Value, and then add the following registry value:

        Value Name: MaxUserPort
        Data Type: REG_DWORD
        Value: 65534

        This sets the number of ephemeral ports available to any user. The valid range is between 5000 and 65534 (decimal). The default value is 0x1388 (5000 decimal).

        On the Edit menu, click Add Value, and then add the following registry value:

        Value Name: TcpTimedWaitDelay
        Data Type: REG_DWORD
        Value: 30

        This sets the number of seconds to hold a TCP port connection in TIME_WAIT state before closing. The valid range is between 0 (zero) and 300 (decimal). The default value is 0x78 (120 decimal).

        Quit Registry Editor.

        Reboot the machine.

        Note: Undoing the above should be as simple as deleting the registry entries you've created.

        3. Client does not support authentication protocol
        MySQL 5.0 uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older (pre-4.1) clients. If you upgrade the server from 4.1, attempts to connect to it with an older client may fail with the following message:

        shell> mysql
        Client does not support authentication protocol requested
        by server; consider upgrading MySQL client

        To solve this problem, you should use one of the following approaches:

        Upgrade all client programs to use a 4.1.1 or newer client library.

        When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.

        Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function:

        mysql> SET PASSWORD FOR
        -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

        Alternatively, use UPDATE and FLUSH PRIVILEGES:

        mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
        -> WHERE Host = 'some_host' AND User = 'some_user';
        mysql> FLUSH PRIVILEGES;

        Substitute the password you want to use for “newpwd” in the preceding examples. MySQL cannot tell you what the original password was, so you'll need to pick a new one.

        Tell the server to use the older password hashing algorithm:

        Start mysqld with the --old-passwords option.

        Assign an old-format password to each account that has had its password updated to the longer 4.1 format. You can identify these accounts with the following query:

        mysql> SELECT Host, User, Password FROM mysql.user
        -> WHERE LENGTH(Password) > 16;

        For each account record displayed by the query, use the Host and User values and assign a password using the OLD_PASSWORD() function and either SET PASSWORD or UPDATE, as described earlier.

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        MySQL的常見錯誤的解決方法(英文)(1)

        MySQL的常見錯誤的解決方法(英文)(1):Common Errors When Using MySQL Programs This section lists some errors that users frequently encounter when running MySQL programs. Although the problems show up when you try to run client programs, the solutions to many of the problems in
        推薦度:
        標簽: 方法 英文 錯誤
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲一级片免费看| 日本成人免费在线| 亚洲成人在线网站| 黄色免费在线网站| 亚洲国产美国国产综合一区二区| 免费h视频在线观看| 亚洲国产成人久久精品动漫 | 亚洲香蕉成人AV网站在线观看 | 中国在线观看免费的www| 久久国产成人亚洲精品影院 | xxxx日本在线播放免费不卡| 亚洲AV网站在线观看| 国产成人综合亚洲| 精品亚洲一区二区三区在线观看| 中文字幕永久免费视频| 亚洲三级电影网站| 24小时日本在线www免费的| 亚洲人成色在线观看| 又粗又大又长又爽免费视频| 美女网站在线观看视频免费的| 亚洲AV无码一区二区三区DV| 久久久久久精品免费看SSS | 亚洲国产精品国自产电影| 亚洲一级毛片免费观看| 亚洲欧美成人av在线观看| 亚洲无线一二三四区手机| 久久成人免费电影| 亚洲国产视频久久| 亚洲一区二区视频在线观看| 99热这里只有精品6免费| 亚洲欧美国产欧美色欲| 久久91亚洲人成电影网站| 免费人成在线观看69式小视频| 亚洲成a人片在线观看天堂无码| 久久青青草原亚洲av无码| 中文毛片无遮挡高潮免费| 免费看美女午夜大片| 亚洲国产成人精品无码一区二区| 无码国产亚洲日韩国精品视频一区二区三区| 97在线免费视频| 国产精品亚洲专区无码WEB|