Installing MySQL under Linux (Centos)

Source: Internet
Author: User
Tags mysql client mysql version dmesg

Reprint: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html

First, MySQL Introduction

When it comes to databases, we mostly think of relational databases, such as MySQL, Oracle, SQL Server, and so on, which are very easy to install on Windows, and if you want to install a database on Linux, I have to recommend MySQL database first. And the first version of the MySQL database is distributed on Linux systems.

MySQL is a relational database management system developed by the Swedish MySQL AB company, currently owned by Oracle Corporation. MySQL is an associated database management system that keeps data in separate tables rather than putting all of the data in a large warehouse, which increases speed and increases flexibility. MySQL's SQL language is the most commonly used standardized language for accessing databases. MySQL software uses a dual licensing policy (this term "authorization policy"), it is divided into community and commercial version, because of its small size, speed, low total cost of ownership, especially the open source of this feature, the general small and medium-sized web site development has chosen MySQL as the site database. Thanks to the performance of its community edition, PHP and Apache make a good development environment.

To install MySQL database on Linux, we can download the MySQL database rpm package on its official website, Http://dev.mysql.com/downloads/mysql/5.6.html#downloads, Everyone can download the corresponding database files according to their operating system, the latest version is 5.6.10.

Here I am the installation of MySQL database through Yum, this way to install, can be related to MySQL some services, jar packages are installed to us, so save a lot of unnecessary trouble!!!

Second, uninstall the original MySQL

Because MySQL database is very popular on Linux, so the mainstream Linux version of the current download basically integrates the MySQL database inside, we can use the following command to see if the MySQL database is installed on our operating system

[Email protected] ~]# Rpm-qa | grep mysql//This command will check if the MySQL database is already installed on the operating system

If there is, we can unload it by RPM-E command or rpm-e--nodeps command.

[[email protected] ~]# rpm-e mysql//normal delete mode [[email protected] ~]# rpm-e--nodeps MySQL//brute force Delete mode, if you use the above command to delete, prompted to have dependent on the other File, the command can be used to forcefully delete the

After the deletion we can pass Rpm-qa | grep mysql command to see if MySQL has been uninstalled successfully!!

Third, the installation of MySQL through Yum

I am using yum to perform MySQL database installation, first we can enter Yum List | grep mysql command to view the downloadable version of the MySQL database available on Yum:

[email protected] ~]# Yum List | grep MySQL

You can get the downloadable version of the MySQL database on the Yum server:

Then we can install the MySQL mysql-server mysql-devel by entering the Yum install-y mysql-server mysql mysql-devel command ( Note: When we installed MySQL, we did not install the MySQL client, which is equivalent to installing the MySQL database, we also need to install the Mysql-server server .

[email protected] ~]# yum install-y mysql-server MySQL Mysql-deve

After waiting for some time, Yum will help us choose the software needed to install the MySQL database and some other ancillary software.

We found that the installation of the MySQL database through the Yum method eliminates a lot of unnecessary hassle, and when the following results occur, the MySQL database installation is successful.

At this point we can view the version of the mysql-server that we just installed with the following command

[Email protected] ~]# Rpm-qi mysql-server

We installed the Mysql-server is not the latest version, if you want to try the latest version, then go to the MySQL website to download rpm package installation, so that our MySQL database has been installed.

Iv. initialization of MySQL database and related configuration

After we install the MySQL database, we will find a mysqld service, this is our database service, we can start our MySQL service by entering the service mysqld Start command.

Note : If we are starting the MySQL service for the first time, the MySQL server will first initialize the configuration, such as:

[Email protected] ~]#Service mysqld StartInitialize MySQL database: warning:the host ' Xiaoluo ' could not being looked up with RESOLVEIP. This probably means that your libc libraries is not the Compatiblewith this binary MySQL version. The MySQL daemon, mysqld, should worknormally with the exception that host name resolving won't work. This means the should use IP addresses instead of Hostnameswhen specifying MySQL privileges! Installing MySQL system tables ... Okfilling Help Tables ... OKto start mysqld at boot time has to copysupport-files/mysql.server to the right place for your systemplease Remembe R to SET A PASSWORD for the MySQL root USER! To does, 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  Would also give you the option of removing the testdatabases and anonymous user created by default. This isstrongly recommended for production servers.See the Manual 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 No problems with The/usr/bin/mysqlbug script! [OK] starting mysqld: [OK]

At this point we will see that the first time you start the MySQL server will prompt a lot of information, the purpose is to initialize the MySQL database, when we restart the MySQL service again, will not prompt so much information, such as:

Service mysqld Restart stop mysqld:                                             [OK] starting mysqld:                                          [OK]

When we use MySQL database, we have to start the Mysqld service first, we can through Chkconfig--list | grep mysqld command to see if the MySQL service is booting automatically, such as:

[Email protected] ~]# Chkconfig--list | grep mysqldmysqld             0: Off    1: Off    2: Off    3: Off    4: Off    5: Off    6: Off

We found that the MYSQLD service did not start automatically, and of course we can set it to boot up with the Chkconfig mysqld on command, so you don't have to start it manually every time.

[[email protected] ~]# chkconfig mysqld on[[email protected] ~]# chkconfig--list | grep mysqlmysqld             0: Off    1: Off    2: Enable 3: Enable 4: Enable 5:    enable    6: Off

MySQL database after installation will only have a root administrator account, but at this time the root account has not set a password for it, the first time the MySQL service started, the database will be some initialization work, in the output of a large string of information, we see a line of information:

/usr/bin/mysqladmin-u root password ' new-password '//Set password for 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)

mysqladmin-u root Password ' Root '//Use this command to set the root account password to root

At this point we can log in to our MySQL database via the mysql-u root-p command.

V. Major configuration files for MySQL database

1./etc/my.cnf This is the main configuration file for MySQL

We can take a look at some information about this file

[email protected] etc]# ls my.cnf my.cnf
[email protected] 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. Storage location of database files for/var/lib/mysql MySQL Database

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

[[email protected] ~]# cd/var/lib/mysql/[[email protected] mysql]# ls-l total usage 20488-rw-rw----.  1 mysql mysql 10485760 April   6 22:01 ibdata1-rw-rw----. 1 mysql mysql  5242880 April   6 22:01 ib_logfile0-rw-rw----. 1 MySQL MySQL  5242880 April   6 21:59 ib_logfile1drwx------. 2 mysql mysql     4096 April   6 21:59 mysql//These two are MySQL data The default two database files srwxrwxrwx when the library is installed. 1 MySQL mysql        0 April   6 22:01 mysql.sockdrwx------. 2 mysql mysql     4096 April   6 21:59 Test//These two are MySQL database installed by default The two database files

We can create a database ourselves to verify where the database files are stored

Create one of our own databases:mysql> CREATE database Xiaoluo; Query OK, 1 row Affected (0.00 sec) [[email protected] mysql]# ls-l total usage 20492-rw-rw----.  1 mysql mysql 10485760 April   6 22:01 ibdata1-rw-rw----. 1 mysql mysql  5242880 April   6 22:01 ib_logfile0-rw-rw----. 1 MySQL MySQL  5242880 April   6 21:59 ib_logfile1drwx------. 2 mysql mysql     4096 April   6 21:59 mysqlsrwxrwxrwx. 1 my SQL MySQL        0 April   6 22:01 mysql.sockdrwx------. 2 mysql mysql     4096 April   6 21:59 testdrwx------. 2 MySQL mysql< c11/>4096 April   6 22:15 Xiaoluo//This is the Xiaoluo database we just created [[email protected] mysql]# CD Xiaoluo/[[email protected] Xiaol uo]# lsdb.opt

3./var/log MySQL database log output storage location

Some of our MySQL database's log output is stored in the/var/log directory

[[Email protected] xiaoluo]# CD [[email protected] ~]# cd/var/log[[email protected] log]# Lsamanda cron          maillog-20130331 spice-vdagent.loganaconda.ifcfg.log cron-20130331 Mcelog spooleranaconda.log Cups messages Spooler-20130331anaconda.program.log dirsrv messages-20130331 Sssdanaco Nda.storage.log DMESGMysqld.logTallyloganaconda.syslog dmesg.old ntpstats tomcat6anaconda.xlog dracut.log Piranha Wpa_supplicant.loganaconda.yum.log GDM pm-powersave.log wtmpaudit httpd pp P xorg.0.logboot.log ibacm.log prelink xorg.0.log.oldbtmp las               TLog sa xorg.1.logbtmp-20130401 libvirt Samba xorg.2.logcluster Luci Secure Xorg.9.logconsolekit Maillog secure-20130331 Yum.log

Which mysqld.log this file is the log information we have to store our operations with the MySQL database, and we can get a lot of information by looking at the log file.

Because our MySQL database is accessible over the network, not a stand-alone database, where the protocol used is the TCP/IP protocol, we all know that the MySQL database binding port number is 3306, so we can see through the NETSTAT-ANP command, is the Linux system listening on the 3306 port number:

As shown above, the Linux system listens on the 3306 port number is our MySQL database!!!!

Remote connection to MySQL

1) First log in to MySQL with the root account

2) Create a remote login user and authorize

Grant all privileges the test_db.* to [email protected]' 192.168.1.101 ' identified by ' 123456 ';

The above statement indicates that all permissions to the TEST_DB database are granted to root, allowing the root user to remotely log on to the 192.168.1.101 IP and set the root user's password to 123456.

All parameters are analyzed below:

All privileges means giving all permissions to the specified user, which can also be replaced by assigning a specific permission, such as Select,insert,update,delete,create,drop, to be separated by a "," half-width comma between specific permissions.

Test_db.* means that the above permissions are for which table, test_db refers to the database, followed by the * for all tables, it can be inferred that: for all of the database is authorized as "*. *" For all tables, the entire table for a database is authorized as "database name. *", A table for a database is authorized as the database name. Table name.

Root indicates which user you want to authorize, and the user can be either an existing user or a non-existent user.

192.168.1.101 represents the IP address that allows remote connections, or "%" if you want to limit the IP of the link.

123456 is the user's password.

3) After executing the above statement, execute the following statement before it can take effect immediately.
> Flush Privileges;

Installing MySQL under Linux (Centos)

Related Article

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.