• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
车车大人
博客园    首页    新随笔    联系   管理     

linux安装mysql

linux 进行mysql安装

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙
1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

#############################################################修改linux的访问安全级别为强制关闭状态####################################

确保linux的selinux安全访问级别为关闭状态

vi /etc/selinux/config,将SELINU置为disabled。

修改完成后,保存重启linux,重启后执行如下命令

sestatus

命令行显示: SELinux status: disabled

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

# yum -y install make gcc-c++ cmake bison-devel  ncurses-devel    // 安装编译代码需要的包

# wget http://www.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz  // 下载mysql包

# tar -zxvf mysql-5.6.27.tar.gz // 解压mysql包
# cd mysql-5.6.27 

/ 采用Cmake编译:
#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLE_DOWNLOADS=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci
make && make install

安装过程可能时间有点长。

2.配置MySQL
查看是否有mysql用户及用户组

cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表如果没有就创建
groupadd mysql
useradd -g mysql mysql

修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql

进入安装路径
cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

 

 

如果没问题那么

rm -rf /etc/my.cnf

然后加入系统变量,然后启动

cp support-files/mysql.server /etc/init.d/mysql

chkconfig mysql on

service mysql start

 

 

这块如果有报错,需要安装一下script什么的扩展  yum安装就可以  

FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper

 

yum -y install autoconf

执行mysql_install_db命令的时候后面的参数一定要加上,--user代表运行用户,--basedir代表MySql安装目录,--datadir代表数据库数据所在目录

 

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

 

启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql ON
service mysql start --启动MySQL配置用户

**启动时会 报错:
1) Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/iZ2zegxohhsdr2ypoihxvsZ.pid)?
解决:
1) mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,
请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir).
datadir = /usr/local/mysql/data ,并且去除#

 

设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH

让配置立即生效
# source /etc/profile

 

 

如果上述方法都不可以,是着删除/etc/my.cnf文件就可以了!

 

./bin/mysql -u root // 进入mysql 
mysql> SET PASSWORD = PASSWORD('root'); // 设置密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'rootroot' WITH GRANT OPTION; // 设置远程访问

 

============== 密码错误 进不去数据库解决 ===========================
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

 

=============== Mysql授权远程访问 ============================
1.GRANT ALL PRIVILEGES ON *.* TO 'root'@'47.100.16.97' IDENTIFIED BY 'Root@8899' WITH GRANT OPTION; 
或
2.GRANT ALL PRIVILEGES ON *.* TO root@'%'IDENTIFIED BY 'Root666@root' WITH GRANT OPTION;

3.FLUSH PRIVILEGES;

 

允许mysql远程访问的方法

需要手动增加可以远程访问数据库的用户。

方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

#mysql -u root -proot
mysql>use mysql;
mysql>select host, user from user;

mysql>update user set host = '%' where user = 'root';

 

不管报错不报错,直接刷新flush privileges;

 

ok啦!


方法二、直接授权(推荐)

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

# mysql -u root -proot 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限 

FLUSH PRIVILEGES 

 

致此本次安装完成,仅供参考,多多建议,共同进步 。

 

 

如果要关联pdo_mysql等等扩展的话参照网址:http://www.jb51.net/article/82043.htm

通往牛逼的路上,在意的只有远方!
posted @ 2018-01-18 16:45  车车大人  阅读(374)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3