Install the dependency package first to avoid problems during the installation process
[[email protected] liuzhen]# yum-y install gcc gcc-c++[[email protected] liuzhen]# yum-y install Cmake[[email protected] liuzhen]# yum-y install Ncurses-devel[[email protected] liuzhen]# yum-y install autoconf[[email protected] liuzhen]# Yum-y Install Perl Perl-devel
MySQL Source: https://dev.mysql.com/downloads/mysql/5.6.html#downloads
SOURCE Package Address: https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
Create MySQL installation directory and data storage directory
[Email protected] liuzhen]# mkdir/usr/local/mysql[[email protected] liuzhen]# Mkdir/usr/local/mysql/data
mkdir Creating a Folder
-M: Set access permissions on the new directory
-P: If some directories in the path do not already exist, the system will automatically set up those directories that do not already exist.
Create a user, user group
[[email protected] liuzhen]# groupadd mysql[[email protected] liuzhen]# useradd-r-g MySQL MySQL
The Useradd command is used to establish the user account and create the user's starting directory, which is the ultimate user. New User password is empty
-G: Specifies the starting group to which the user belongs.
-D: Specifies the start directory at which the user logged in.
-S: Specifies the shell to use when the user is logged in. -s/sbin/nologin is not allowed to login shell
-G After the first MySQL is the group name, the second MySQL is the new user name, the new user information can be found in the/etc/passwd file
Unzip the file to the current folder
Tar backup, compression and decompression, Linux command, also a tool
-Z: Indicates that the TAR package is compressed by gzip, so the decompression needs to use Gunzip decompression
-X: Extract the files from the tar package
-V: Show more information
-F xxx.tar.gz: Specifies that the file being processed is xxx.tar.gz
tar.gz with tar zxvf decompression, tar.bz2 with tar jxvf decompression
Start installation
[[email protected] liuzhen]# TAR-ZXVF mysql-5.6.35.tar.gz[[email protected] liuzhen]# CD Mysql-5.6.35[[email protected] mysql-5.6.35]# CMake. -dcmake_install_prefix=/usr/local/mysql-dinstall_datadir=/usr/local/mysql/data-ddefault_charset=utf8-ddefault_ Collation=utf8_general_ci-dextra_charsets=all-denabled_local_infile=1[[email protected] mysql-5.6.35]# make & & Make Install
CMake parameter Description:
-dcmake_install_prefix=/usr/local/mysql//default installation directory
-dinstall_datadir=/usr/local/mysql/data//Database storage directory
-ddefault_charset=utf8//using UTF8 characters
-DDEFAULT_COLLATION=UTF8_GENERAL_CI//Check character
-dextra_charsets=all//Install all extended character sets
-denabled_local_infile=1//Allow import of data from local
-dmysql_user=mysql
-dmysql_tcp_port=3306
CMake detailed configuration Please refer to the MySQL website
Precautions:
If the installation fails to recompile, you need to clear the old object file and cache information.
[[email protected] mysql-5.6.35]# make Clean[[email protected] mysql-5.6.35]# rm-f cmakecache.txt[[email protected] mysq l-5.6.35]# rm-rf/etc/my.cnf
Set directory Permissions
[Email protected] liuzhen]# cd/usr/local/mysql[[email protected] mysql]# chown-r mysql:mysql. [Email protected] mysql]# chown-r mysql:mysql data
The chown command changes a file or directory's owner and owner group.
-R: Recursively alters the owner of the specified directory and all subdirectories and files under it.
-V: Displays the work done by the Chown command.
To add the MySQL startup service to the system service
[[email protected] liuzhen]# Cd/usr/local/mysql[[email protected] mysql]# CP support-files/my-default.cnf/etc/my.cnf
To create the underlying table:
[Email protected] liuzhen]# Cd/usr/local/mysql[[email protected] mysql]#./scripts/mysql_install_db--user=mysql
Configuring Environment variables
[Email protected] liuzhen]# Vi/etc/profile
Add the following two values at the bottom of the
Export Mysql_home= "/usr/local/mysql"
Export path= "$PATH: $MYSQL _home/bin"
and then save
Make the modified profile effective immediately
[Email protected] liuzhen]# Source/etc/profile
Add MySQL to the folder that controls the startup service and name MySQL, which is the service-controllable name, to start MySQL with the service MySQL start control
/ETC/INIT.D is a link to/etc/rc.d/init.d, adding a file in/ETC/INIT.D will synchronize to add an identical file under/ETC/RC.D/INIT.D
[[email protected] liuzhen]# Cd/usr/local/mysql/[[email protected] mysql]# CP support-files/mysql.server/etc/init.d/ Mysql
The Chkconfig command is primarily used to update (start or stop) and query run-level information for system services. Remember that Chkconfig does not immediately automatically disable or activate a service, it simply changes the symbolic connection
--add: Adds the specified system service, allows the chkconfig instruction to manage it, and simultaneously adds the relevant data to the system-initiated narrative file. Service scripts must be stored in the/etc/ini.d/directory
To add the MySQL service to the list of services that are managed by the boot command
Chkconfig--add MySQL
Boot from MySQL service
On: For the service has a level limit, specific query chkconfig detailed
Chkconfig MySQL on
You can now start MySQL using the following command
[[Email protected] liuzhen]# service MySQL start
Stop MySQL Service
[[Email protected] liuzhen]# service MySQL stop
Restart MySQL Service
[[Email protected] liuzhen]# service MySQL restart
The following two commands work the same way
Systemctl [Stop|start|restart] Service Name
Service name [Stop|start|restart]
Enter to set a new password in the following prompt:
[Email protected] liuzhen]# mysqladmin-u root passwordnew password:confirm new password: [[email protected] liuzhen]#
Connect to MySQL
[Email protected] mysql]# mysql-u root-p Enter password:welcome to the MySQL monitor. Commands End With; or \g.your MySQL connection ID is 2Server version:5.6.35 Source distributioncopyright (c) $, Oracle and/or its a Ffiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names trademarks of their respectiveowners. Type ' help ', ' or ' \h ' for help. Type ' \c ' to clear the current input statement.mysql>
Mysql>use MySQL;
Mysql>desc user;
Mysql> GRANT All privileges on * * to [email protected] '% ' identified by ' root '; The ability to add remote connections for root.
Mysql>update user Set Password = Password (' xxxxxx ') where user= ' root ';
Mysql>select Host,user,password from User where user= ' root ';
Mysql>flush privileges; Refresh Permissions
Mysql>exit//exit
The remaining four grant examples
Assign the user User1 from 192.168.155.1 the ability to perform operations such as Select,insert,update,delete,create,drop on the TableName table dbname the database, and set the password to 123456.
There are a lot of permissions to table operations like alter and so on
Mysql>grant Select,insert,update,delete,create,drop on Dbname.tablename to ' user1 ' @ ' 192.168.155.1 ' identified by ' 123456 ';
Assign the user user2 from 192.168.155.1 to all operations on the database dbname all tables, and set the password to 123456.
Mysql>grant all privileges in dbname.* to ' user2 ' @ ' 192.168.155.1 ' identified by ' 123456 ';
Assign the user User3 from 192.168.155.1 to all operations on all tables in all databases, and set the password to 123456.
Mysql>grant all privileges on * * to ' user3 ' @ ' 192.168.155.1 ' identified by ' 123456 ';
Assign the native user user4 permissions to all operations on all tables in all databases, and set the password to 123456.
Mysql>grant all privileges on * * to ' user4 ' @ ' localhost ' identified by ' 123456 ';
Open external access to firewall mysql3306 ports
After upgrading to 7, CentOS replaced the original iptables with Firewalld. Below is a note on how to open Linux ports using FIREWALLD
--zone: Scope, the network region defines the trusted level of the network connection. This is a one-to-many relationship, which means that a connection can only be part of a region, and a region can be used for many connections
--add-port: Add port and communication protocol in the format: Port/Communication Protocol, protocol TCP or UDP
--permanent: Permanent, without this parameter the port access fails after the system restarts
Firewall-cmd--zone=public--add-port=3306/tcp--permanent
Restarting the firewall
Firewall-cmd--reload
-----------------------------------------------------------------------
How to change your password after you forget the root password
Stop MySQL service, or command systemctl stop MySQL
Service MySQL Stop
Enter/usr/local/mysql
CD $MYSQL _home
Start MySQL via Mysqld_safe and do not start the Grant-tables authorization form when you start MySQL
./bin/mysqld_safe--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data--skip-grant-tables &
Log in to MySQL
Mysql-u Root MySQL
Change root password
Mysql>update user SET Password=password ("New_password") WHERE user= ' root ';
Refresh
Mysql>flush privileges;
Quit MySQL
mysql>exit;
This article is from the "Liu" blog, make sure to keep this source http://liuzhenlife.blog.51cto.com/10591893/1892121
CentOs 7 64-bit source installation mysql-5.6.35