CentOS (13) for Linux -- installation and configuration of Mysql database under CentOS6.4, centos -- centos6.4

Source: Internet
Author: User
Tags dmesg

CentOS (13) for Linux -- installation and configuration of Mysql database under CentOS6.4, centos -- centos6.4

To develop j2ee on Linux, you must first build a j2ee development environment, including jdk, tomcat, and eclipse installation (this article has explained in detail CentOS (7) of Linux learning-building a j2ee environment under CentOS ), if you want to develop a web project, you can install a myeclipse program on the Linux system. The installation method is the same as that for installing eclipse, with jdk, tomcat, and eclipse, we can develop our programs. However, if you want to create a project, even small projects cannot be separated from data storage !!! That's right. We have not installed the most important software, that is, the database !!! If we do not have a database, it is just a fantasy to do a project. So, for database installation, I wrote this article specifically for installing the mysql database ......

I. mysql Introduction

Speaking of databases, we mostly think of relational databases, such as mysql, oracle, and sqlserver. These database software is very convenient to install on windows. If you want to install a database on Linux, we have to recommend the mysql database first, and the first version of the Mysql database is released on the Linux system.

MySQL is a relational database management system developed by MySQL AB in Sweden and currently belongs to Oracle. MySQL is an associated database management system that stores data in different tables rather than in a large warehouse. This increases the speed and flexibility. The SQL language of MySQL is the most commonly used standard language for accessing databases. MySQL adopts the dual Authorization Policy (this term "Authorization Policy"). It is divided into community edition and commercial edition. because of its small size, fast speed, and low total cost of ownership, especially open source code, MySQL is generally used as the website database for the development of small and medium-sized websites. Due to its superior performance, the Community edition works with PHP and Apache to form a good development environment.

Install the mysql database on Linux. You can download the rpm package of the mysql database from its official website.

Here I use yum to install the mysql database. Through this method, we can install mysql-related services and jar packages, this saves a lot of unnecessary trouble !!!

Ii. Uninstall the original mysql

Because mysql databases are too popular on Linux, the mainstream Linux system versions currently downloaded are basically integrated with mysql databases, run the following command to check whether the mysql database has been installed on the operating system:

[Root @ xiaoluo ~] # Rpm-qa | grep mysql // This command will check whether the mysql database has been installed on the Operating System

If yes, run the rpm-e command or the rpm-e -- nodeps command to uninstall it.

[Root @ xiaoluo ~] # Rpm-e mysql // normal deletion mode [root @ xiaoluo ~] # Rpm-e -- nodeps mysql // strong deletion mode. If the above command is used to delete other dependent files, you can use this command to forcibly delete them.

After deletion, run the rpm-qa | grep mysql command to check whether mysql has been uninstalled successfully !!

Iii. Install mysql through yum

I am using yum to install mysql databases. First, we can enter the yum list | grep mysql command to view the downloadable mysql database version on yum:

[root@xiaoluo ~]# yum list | grep mysql

You can get the downloadable version of the mysql database on the yum server:



Then, run the yum install-y mysql-server mysql-devel command to install mysql-server mysql-devel (Note: When installing mysql, We have installed the mysql database instead of the mysql client. We also need to install the mysql-server.)


[root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve


After waiting for some time, yum will help us select the software required to install mysql database and other ancillary software.



We found that installing the mysql database using yum saves a lot of unnecessary trouble. When the following results appear, it indicates that the mysql database has been successfully installed.



In this case, run the following command to check the version of the newly installed mysql-server:


[root@xiaoluo ~]# rpm -qi mysql-server


The mysql-server we installed is not the latest version. If you want to try the latest version, download the rpm package on the mysql official website, so far, our mysql database has been installed.

Iv. mysql database initialization and related configuration

After installing the mysql database, we will find an additional mysqld service. This is our database service. We can start our mysql service by entering the service mysqld start command.

Note:: If we start the mysql service for the first time, the mysql server will first perform Initialization Configuration, for example:

[Root @ xiaoluo ~] #Service mysqld startInitialize The MySQL database: WARNING: The host 'xiaoluo 'cocould not be looked up with resolveip. this probably means that your libc libraries are not 100% compatiblewith this binary MySQL version. the MySQL daemon, mysqld, shocould worknormally with the exception that host name resolving will not work. this means that you should use IP addresses instead of hostnameswhen specifying MySQL privileges! Installing MySQL system tables... OKFilling help tables... OKTo start mysqld at boot time you have to copysupport-files/mysql. server to the right place for your systemPLEASE remember to set a password for the MySQL root USER! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin-u root password 'new-password'/usr/bin/mysqladmin-u root-h xiaoluo password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default. this isstronugly recommended for production servers. see the ma Nual for more instructions. you can start the MySQL daemon with: cd/usr;/usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.plcd/usr/mysql-test; perl mysql-test-run.plPlease report any problems with the/usr/bin/mysqlbug script! [OK] Starting mysqld: [OK]


At this time, we will see that a lot of information will be prompted after the mysql server is started for the first time. The purpose is to initialize the mysql database. When we restart the mysql service again, so much information will not be prompted, such:


[Root @ xiaoluo ~] #Service mysqld restartStop mysqld: [OK] Starting mysqld: [OK]


When using the mysql database, we have to start the mysqld service first. We can run the chkconfig -- list | grep mysqld command to check whether the mysql service is automatically started upon startup, for example:


[Root @ xiaoluo ~] # Chkconfig -- list | grep mysqldmysqld 0: Close 1: Close 2: Close 3: Close 4: Close 5: Close 6: Close


We found that the mysqld service is not automatically started when it is started. Of course, you can use the chkconfig mysqld on command to set it to boot, so that you do not need to start it manually every time.


[Root @ xiaoluo ~] # Chkconfig mysqld on [root @ xiaoluo ~] # Chkconfig -- list | grep mysqlmysqld 0: Disable 1: Disable 2: Enable 3: Enable 4: Enable 5: Enable 6: Disable


After the mysql database is installed, there will be only one root administrator account, but the root account has not set a password for it. When the mysql service is started for the first time, some database initialization will be performed, in a large string of output information, we can see such a line of information:


/Usr/bin/mysqladmin-u root password 'new-password' // set a password for the root account


So we can use this command to set the password for our root Account (Note:: This root account is the root account of mysql, not the root account of Linux)


[Root @ xiaoluo ~] #Mysqladmin-u root password'Root' // Use this command to set the password of the root account to root.


Now we can log on to our mysql database using the mysql-u root-p command.


V. Main configuration files of the mysql database

1./Etc/my. cnfThis is the main configuration file of mysql.

We can check some information about this file.

[root@xiaoluo etc]# ls my.cnf my.cnf
[root@xiaoluo etc]# cat my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

2./Var/lib/mysqlDatabase file storage location of the mysql database

The database files of our mysql database are usually stored in the/ver/lib/mysql directory.


[Root @ xiaoluo ~] # Cd/var/lib/mysql/[root @ xiaoluo mysql] # ls-l total usage 20488-rw-rw ----. 1 mysql 10485760 April 6 22:01 ibdata1-rw-rw ----. 1 mysql 5242880 April 6 22:01 ib_logfile0-rw-rw ----. 1 mysql 5242880 April 6 21:59 ib_logfile1drwx ------. 2 mysql 4096 21:59 mysql // these two are the default two database files srwxrwxrwx during mysql database installation. 1 mysql 0 April 6 22:01 mysql. sockdrwx ------. 2 mysql 4096 April 6 21:59 test // these two are the default two database files during mysql Database Installation


We can create a database to verify the storage location of the database file.


Create a database of our own: mysql> create database xiaoluo; Query OK, 1 row affected (0.00 sec) [root @ xiaoluo mysql] # ls-l total usage 202.16-rw-rw ----. 1 mysql 10485760 April 6 22:01 ibdata1-rw-rw ----. 1 mysql 5242880 April 6 22:01 ib_logfile0-rw-rw ----. 1 mysql 5242880 April 6 21:59 ib_logfile1drwx ------. 2 mysql 4096 April 6 21:59 mysqlsrwxrwxrwx. 1 mysql 0 April 6 22:01 mysql. sockdrwx ------. 2 mysql 4096 April 6 21:59 testdrwx ------. 2 mysql 4096 22:15 xiaoluo // This is the xiaoluo database we just created [root @ xiaoluo mysql] # cd xiaoluo/[root @ xiaoluo] # lsdb. opt

3./Var/logLog output location of the mysql database

Some log output locations of our mysql database are stored in the/var/log directory.

[root@xiaoluo xiaoluo]# cd [root@xiaoluo ~]# cd /var/log[root@xiaoluo log]# lsamanda                cron           maillog-20130331   spice-vdagent.loganaconda.ifcfg.log    cron-20130331  mcelog             spooleranaconda.log          cups           messages           spooler-20130331anaconda.program.log  dirsrv         messages-20130331  sssdanaconda.storage.log  dmesg          mysqld.log         tallyloganaconda.syslog       dmesg.old      ntpstats           tomcat6anaconda.xlog         dracut.log     piranha            wpa_supplicant.loganaconda.yum.log      gdm            pm-powersave.log   wtmpaudit                 httpd          ppp                Xorg.0.logboot.log              ibacm.log      prelink            Xorg.0.log.oldbtmp                  lastlog        sa                 Xorg.1.logbtmp-20130401         libvirt        samba              Xorg.2.logcluster               luci           secure             Xorg.9.logConsoleKit            maillog        secure-20130331    yum.log


The mysqld. log file is the log information generated when we operate on the mysql database. By viewing this log file, we can obtain a lot of information.


Because our mysql database is accessible through the network, it is not a standalone database, and the protocol used is the TCP/IP protocol. We all know that the port number bound to the mysql database is 3306, so we can run the netstat-anp command to check whether the Linux system is listening for the port number 3306:

The result is as shown above. The port number 3306 monitored by Linux is our mysql database !!!!



When mysql is connected to linux, the system prompts "1130 is not allowed to connect to this MySql server". How can this problem be solved?



Error Description: the ip address is not authorized to connect to the server.

If you want the root user name to use the root password to connect to the MySQL server from any host.

Run the command: mysql> grant all privileges on *. * TO 'root' @ '%' identified by 'root' with grant option;

If you want to allow the user root to connect to the mysql server from the host whose ip address is, and use root as the password
Run the command: mysql> grant all privileges on *. * TO 'root' @ '192. 168.1.3 'identified BY 'root' with grant option;
The above command creates a super account that can log on from any machine as root, and the password is root. In this way, you can use a convenient graphic tool (navicat for mysql) to log on and operate, including modifying the root password.

Replace the username, password, and IP address with your own one ~~


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.