mysql 在linux安装Mysql 5.6.41

一:到mysql官网下载最新的mysql包

二:在linux /usr/local/中解压mysql压缩包 改名为mysql
#  cd /usr/local/
#  tar -xzvf mysql  压缩包名

三:创建用户组mysql,创建用户mysql并将其添加到用户组mysql中,并赋予读写权限

# groupadd mysql --创建mysql用户组组
# useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中
# chown -R mysql mysql/ --将mysql目录访问权限赋为myql用户
# chgrp -R mysql mysql/ --改变mysql目录的用户组属于mysql组

 

四:创建配置文件 保存并退出

# vim /etc/my.cnf
#复制以下内容 开始-----------------------------------
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'

#复制以下内容 结束-----------------------------------

五:初始化数据库

# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

查看日记  cat /var/log/mysqld.log
看到有错误信息(第1次报错)
2018-10-10 16:50:42 21449 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
于是上网找原因:
从报错上来看,是由于缺少了mysql.plugin表所致的,不过现在连启动都启动不了,怎样创建表呢?所以肯定是其他原因导致的,于时继续网上找继续试,最后找到了这个处理方法,进入mysql安装后的目录scripts执行以下语句:
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
又报错下,如下:(第2次报错)
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
Data::Dumper

好吧,继续百度

解决方法 :安装autoconf库

# yum -y install autoconf   //此包安装时会安装Data:Dumper模块

六、配置环境变量
在文件中增加以下两行:
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"

七、让环境变量生效
#source /etc/profile

八、添加自启动服务
#chkconfig --add mysql
#chkconfig mysql on

九、启动mysql
#cd /user/local/mysql/bin
#service mysql start



十、增加root用户密码:
#cd /user/local/mysql/bin
#mysqladmin -u root password 'hww123456'
如果报mysqladmin:command not found
# ln -s /user/local/mysql/bin/mysql /usr/bin
# ln -fs /user/local/mysql/bin/mysql mysql 


十一、登录mysql 创建用户并赋予所有权限使得远程可以访问
#mysql -u root -p  
#GRANT ALL PRIVILEGES ON *.* TO test@"%" IDENTIFIED BY "123456"; 

 

后面按照上面的方式安装不成功了,不知道啥原因,又有了下面的方式,步骤 一,二,三 是一样的


cd mysql/scripts
[root@localhost scripts]# ./mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql
FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
Data::Dumper

# yum -y install autoconf   //此包安装时会安装Data:Dumper模块


[root@localhost scripts]# ./mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql
Installing MySQL system tables...2019-03-28 16:08:27 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-03-28 16:08:27 0 [Warning] 'ERROR_FOR_DIVISION_BY_ZERO' is deprecated and will be removed in a future release.
2019-03-28 16:08:27 0 [Warning] 'NO_ZERO_DATE' is deprecated and will be removed in a future release.
2019-03-28 16:08:27 0 [Warning] 'NO_ZERO_IN_DATE' is deprecated and will be removed in a future release.
2019-03-28 16:08:27 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2019-03-28 16:08:27 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.41) starting as process 4649 ...

/启动脚本
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

==========/et/my.cnf ===================
[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names = 1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

max_connections=5000

default-time_zone = '+8:00'

==============================


[root@localhost mysql]# /etc/init.d/mysqld start


//修改root用户的密码
[root@localhost scripts]# cd /usr/local/mysql/bin/
[root@localhost bin]# mysqladmin -u root password '123456'
[root@localhost bin]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON *.* TO test@"%" IDENTIFIED BY "123456";
Query OK, 0 rows affected (0.09 sec)


//登录mysql 创建用户并赋予所有权限使得远程可以访问
GRANT ALL PRIVILEGES ON *.* TO test@"%" IDENTIFIED BY "123456"; 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章