设为首页 收藏本站
查看: 939|回复: 0

[经验分享] MYSQL_Linux安装笔记

[复制链接]

尚未签到

发表于 2018-9-29 13:54:06 | 显示全部楼层 |阅读模式
  MYSQL_Linux安装笔记
  ***实验环境***
  1.系统平台:RedHat Linux 6.5
  [root@mysql ~]# uname -a
  Linux mysql 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
  [root@mysql ~]# cat /etc/issue

  Red Hat Enterprise Linux Server>  Kernel \r on an \m
  2.实用软件:mysql-5.5.37.tar.gz,cmake-2.8.12.2.tar.gz
  软件来源:http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/
  http://wwwNaNake.org/files/v2.8/
  3.准备前工作:
  A.修改主机名文件
  [root@mysql /]# vi /etc/hosts
  192.168.1.211   mysql
  B.修改网络配置文件
  [root@mysql /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  HWADDR=00:0C:29:A6:EF:6E
  TYPE=Ethernet
  UUID=4d0cd3ec-ef71-4036-bf9e-4d46ae76bcb2
  ONBOOT=yes--不允许自动引导
  NM_CONTROLLED=yes
  BOOTPROTO=static--使用静态IP地址
  IPADDR=192.168.1.221--添加Ip地址
  NETWORK=255.255.255.0--添加子网掩码
  GATEWAY=192.168.1.1--添加网关
  [root@mysql /]# service network restart
  B.关闭防火墙
  [root@mysql /]# service iptables stop
  C.关闭安全机制
  [root@mysql /]# vi /etc/selinux/config
  SELINUX=disabled
  D.重启计算机
  [root@mysql /]# reboot
  or init 6
  or shutdown -rf
  一、 校验MYSQL是否存在已安装库文件,如果已存在库文件需删除;不然会引起冲突
  [root@mysql ~]# rpm -qa | grep -i mysql
  qt-mysql-4.6.2-26.el6_4.x86_64
  mysql-server-5.1.71-1.el6.x86_64
  mysql-libs-5.1.71-1.el6.x86_64
  perl-DBD-MySQL-4.013-3.el6.x86_64
  mysql-5.1.71-1.el6.x86_64
  二、 卸载已存在的MYSQL库文件
  [root@mysql ~]# rpm -ev qt-mysql-4.6.2-26.el6_4.x86_64 --nodeps
  [root@mysql ~]# rpm -ev mysql-server-5.1.71-1.el6.x86_64 --nodeps
  [root@mysql ~]# rpm -ev mysql-libs-5.1.71-1.el6.x86_64 --nodeps
  [root@mysql ~]# rpm -ev mysql-5.1.71-1.el6.x86_64 --nodeps
  [root@mysql ~]# rpm -ev perl-DBD-MySQL-4.013-3.el6.x86_64 --nodeps
  OR 使用yum 删除库文件
  /*6.5 yum配置方法*/
  a. 备份系统自带yum源,备份之后;或删除或重命名
  [root@mysql mysql]# cp –p /etc/yum.repos.d/rhel-source.repo ~/rhel-source.repo.bak
  [root@mysql mysql]# rm –f /etc/yum.repos.d/rhel-source.repo
  or
  [root@mysql mysql]# mv rhel-source.repo back_rhel-source.repo.bak
  b.创建yum源文件
  [root@mysql mysql]# cd /etc/yum.repos.d
  vi rhel6.repo
  [rhel6.5]
  name=yum server
  baseurl=file:///yum
  enabled=1
  gpgcheck=0
  gpgfile=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
  c.创建yum目录
  [root@mysql mysql]# mkdir /yum
  d.挂在光驱至yum目录(redhat 6.5 配置完成后,如果不能识别需要重启服务器再挂载yum)
  [root@mysql mysql]# mount /dev/cdrom /yum
  f.测试yum源
  [root@mysql mysql]# Yum list
  [root@mysql mysql]# Yum clean all
  g.删除MYSQL库文件
  [root@mysql mysql]# yum –y remove mysql-5.1.71-1.el6.x86_64
  三、 将动态函数库加载到高速缓存(cache)中,提供MYSQL的高可用性
  1. 将MySQL数据库函数库的存放目录写入此文件中
  [root@mysql software]# vi /etc/ld.so.conf
  include ld.so.conf.d/*.conf
  /usr/local/lib
  /usr/local/lib64
  2.保存写入,生效函数库
  [root@mysql software]# ldconfig
  [root@mysql software]# ldconfig -p
  四、 确保以下所需系统软件包已经被安装
  1. 切入到yum源存放目录
  [root@mysql Packages]# cd /yum/Packages
  2. 校验系统所需软件包gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*
  [root@mysql Packages]# rpm -qa | grep -i gcc*
  3.好吧,不要都验证了;把所有的需求软件包都安装
  [root@mysql Packages]# yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*
  五、 安装方法常用有两种,一种为通用方法格式为.tar的源码安装,一种为RPM包安装方法
  ***源码包实施安装过程***
  1. 查看MYSQL组和用户,重建MYSQL组及用户
  [root@mysql ~]# cat /etc/group
  [root@mysql ~]# cat /etc/passwd
  [root@mysql ~]# userdel mysql
  [root@mysql ~]# groupadd mysql
  [root@mysql ~]# useradd -r -g mysql mysql
  2. 新建MYSQL数据库工作目录,建议设在/usr/local/下面
  a. 创建MYSQL安装路径
  [root@mysql mysql]# mkdir -p /usr/local/mysql
  b. 创建MYSQL数据库存放路径
  [root@mysql /]# mkdir -p /data/mysql
  c. 赋予MYSQL数据存放权限
  [root@mysql /]# chown -R mysql:mysql /data/mysql/
  [root@mysql /]# chmod 775 /data/mysql/
  3. 安装cmake软件包
  [root@mysql software]# tar -zxvf  cmake-2.8.12.2.tar.gz
  [root@mysql software]# ls
  [root@mysql software]# cd cmake-2.8.12.2
  [root@mysql cmake-2.8.12.2]# ls
  [root@mysql cmake-2.8.12.2]# ./configure
  [root@mysql cmake-2.8.12.2]# make;make install
  4. 编译安装MYSQL源码包
  [root@mysql software]# tar zxvf mysql-5.5.37.tar.gz
  [root@mysql software]# cd mysql-5.5.37
  [root@mysql mysql-5.5.37]# ls
  [root@mysql mysql-5.5.37]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
  [root@mysql mysql-5.5.37]# echo $?
  ***注意事项***
  echo $? 返回0则表示成功,返回1则标识失败
  重新编译时,需要清除旧的对象文件和缓存信息。
  # make clean
  # rm -f CMakeCache.txt
  # rm -rf /etc/my.cnf
  参数说明:
  -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql   //安装目录
  -DINSTALL_DATADIR=/home/mysql/data         //数据库存放目录
  -DDEFAULT_CHARSET=utf8                     //使用utf8字符
  -DDEFAULT_COLLATION=utf8_general_ci         //校验字符
  -DEXTRA_CHARSETS=all                       //安装所有扩展字符集
  -DENABLED_LOCAL_INFILE=1                   //允许从本地导入数据
  [root@mysql mysql-5.5.37]# make;make install
  [root@mysql mysql-5.5.37]# echo $? (0表示成功,1表示失败)
  5. /usr/local/src/mysql/mysql-5.5.37下的目录结构
  Directory
  Contents of Directory
  bin
  Client programs and the mysqld server
  data
  Log files, databases
  docs
  Manual in Info format
  man
  Unix manual pages
  include
  Include (header) files
  lib
  Libraries
  scripts
  mysql_install_db
  share
  Miscellaneous support files, including error messages, sample configuration files, SQL for database installation
  sql-bench
  Benchmarks
  6. 配置并初始化数据库
  a. 创建my.cnf配置文件
  [root@mysql mysql-5.5.37]# cp support-files/my-medium.cnf /etc/my.cnf
  b. 执行前需赋给scripts/mysql_install_db文件执行权限
  [root@mysql mysql-5.5.37]# cd /usr/local/mysql/
  [root@mysql mysql]# ls
  c. 初始化数据库
  [root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
  [root@mysql mysql]# echo $?
  d. 创建管理MySQL数据库的shell脚本,并赋予其执行权限
  [root@mysql mysql]# cp support-files/mysql.server /etc/init.d/mysqld
  [root@mysql mysql]# chmod +x /etc/init.d/mysqld
  e. 启动MYSQL数据库
  [root@mysql mysql]# /etc/init.d/mysqld start
  Starting MySQL...[  OK  ]
  f. 通过命令行登录管理MySQL服务器(提示输入密码时直接回车)
  [root@mysql mysql]# /usr/local/mysql/bin/mysql -u root –p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.5.37-log Source distribution
  Copyright (c) 2000, 2014, 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> quit
  Bye
  g. 安装MYSQL客户端软件包,可以支持MYSQL命令行命令
  [root@mysql Packages]# yum -y install mysql
  h. 设置Mysql密码
  [root@test ~]#/usr/local/mysql/bin/mysqladmin password -uroot 'cy_mysql'
  ***遇到问题,提示没有使用密码***
  mysqladmin: connect to server at 'localhost' failed
  error: 'Access denied for user 'root'@'localhost' (using password: YES)'
  ***解决办法***
  (1)查看配置文件使用密码情况
  [root@mysql Packages]# cat /etc/my.cnf
  (2)建立mysql命令链接
  [root@mysql mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin
  (3)以命令行模式启动MYSQL,修改密码,为root添加远程连接能力;更新权限
  [root@mysql mysql]#  mysqld_safe --skip-grant-tables &
  mysql -uroot –p
  Enter password:cy_mysql (输入密码)
  mysql> use mysql;

  mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%">  or

  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'>  mysql> update user set password=PASSWORD("cy_mysql")where user="root";
  mysql> select Host,User,Password  from user where User='root';
  mysql> flush privileges ;
  mysql> quit
  (4)重新启动MYSQL数据库,并验证登录
  [root@mysql ~]# service mysqld restart
  [root@mysql ~]# mysql -uroot –p
  Enter password:cy_mysql
  mysql> show databases ;
  +--------------------+
  | Database           |
  +--------------------+
  | information_schema |
  | mysql              |
  | performance_schema |
  | test               |
  +--------------------+
  4 rows in set (0.00 sec)
  mysql> quit
  7. 重新启动Linux服务器,登录MYSQL报错
  [root@mysql ~]# mysql -uroot -p
  Enter password:
  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (2)
  a. 查看MYSQL数据服务是否启动
  [root@mysql ~]# /etc/init.d/mysqld status
  b. 启动MYSQL数据库
  [root@mysql ~]# service mysqld start
  Or
  [root@mysql ~]# /etc/init.d/mysqld start
  8. 在客户端使用Navicat for mysql工具连接MYSQL进行操作


  9. 修改MYSQL服务器数据库中命令行不区分表大小写
  [root@mysql ~]# vi /etc/my.cnf
  [mysqld]
  lower_case_table_names=1
  10.   数据备份与还原
  (1). 备份整个库
  a. 创建备份目录
  [root@mysql /]# mkdir /backup
  b. 指定备份目录,指定备份库
  [root@mysql /]# mysqldump -u root -p bank > /backup/test_bank.sql
  Enter password:
  c. 还原数据库
  [root@mysql backup]# mysql -u root -p
  Enter password:
  mysql> use bank
  Database changed
  mysql> source /backup/test_bank.sql
  (2).备份某一个表
  a.备份表
  [root@mysql backup]# mysqldump -u root -p bank tab_item > /backup/test_bank_item.sql
  c. 还原表
  [root@mysql backup]# mysql -u root -p
  Enter password:
  mysql> use bank
  Database changed
  mysql> source /backup/test_bank_item.sql


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-603889-1-1.html 上篇帖子: MySQL 的slave_exec_mode参数的用处 下篇帖子: mysql客户端工具的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表