mysql 安装总结

mysql 安装总结

系统: cxentos7

mysql版本:mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

添加mysql用户

一般启动mysql都是使用的mysql用户进程来启动。所以第一步,添加mysql用户 useradd mysql

解压重命名文件

解压上面的文件 tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

拷贝到一个你指定的文件夹下面,然后重命名为一个短点的名字 mv mysql-5.6.42-linux-glibc2.12-x86_64 /home/cube/mysql

初始化数据库

这一步很关键,笔者当时卡在这里很久,因为执行脚本的位置很重要。当时笔者直接进入到scripts 下执行,这是非常致命的错误,最后初始化的数据库数据会在scripts 文件夹下面生成,显然这是不对的。我们实际的数据文件夹是在 mysql/data 下面。

chown -R mysql:mysql mysql

cd mysql

./scripts/mysql_install_db --user=mysql --basedir=/home/cube/mysql --datadir=/home/cube/mysql/data

上面一定要先改变下文件的权限,否则在初始化数据的时候就会因为权限不足导致失败。

当出现一下信息的时候说明数据库初始化成功。

OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  /home/cube/mysql/bin/mysqladmin -u root password 'new-password'
  /home/cube/mysql/bin/mysqladmin -u root -h 78afdad83326 password 'new-password'

Alternatively you can run:

  /home/cube/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /home/cube/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as /home/cube/mysql/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings

配置my.cnf文件

[mysqld]
basedir = /home/cube/mysql
datadir = /home/cube/mysql/data
port = 3306
socket = /home/cube/mysql/mysqld.sock
user=mysql

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

我们来启东试试下./support-files/mysql.server start

发现失败,错误信息如下:

bash-4.2# ./support-files/mysql.server start
./support-files/mysql.server: line 244: my_print_defaults: command not found
./support-files/mysql.server: line 264: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)

发现,在启动服务的时候,去/usr/local/mysql 来找安装包,当我们使用yum来安装mysql的时候,会发现mysql的安装位置就是 /usr/local/mysql,所以这里我们需要再次配置下路径。

配置 mysql.server

打开 vim ./support-files/mysql.server 配置下basedirdatadir 两个属性

basedir=/home/cube/mysql
datadir=/home/cube/mysql/data

好了,我们再来重启下试试。

启动服务

./support-files/mysql.server start

出现如下信息,说明启动成功

bash-4.2# ./support-files/mysql.server start
Starting MySQL.Logging to '/home/cube/mysql/data/78afdad83326.err'.
 SUCCESS!

使用mysql连接

bin/mysql -uroot -P3306 -p

发现会出现如下的错误:

bash-4.2# bin/mysql -uroot -P3306 -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

错误显示的是找不到/tmp/mysql.sock 这个文件,记得在上面的my.cnf文件中,我们配置了socket的文件位置。

在 my.cnf 中配置client 属性,保证 mysql能够拿到正确的配置去连接。

[client]
port=3306
socket=/home/cube/mysql/mysqld.sock

同时,在连接的指定配置文件 --defaults-file=my.cnf

完整的如下:

./bin/mysql --defaults-file=my.cnf -uroot -p

进入会提示要输入密码,这里不用输入密码,直接回车即可进入。

最后,到此所有已经结束。剩下的还有一些需要完善的地方,比如 设置编码 ,设置日志文件等等。

你可能感兴趣的:(mysql 安装总结)