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

[经验分享] MySQL数据库多种安装方法

[复制链接]

尚未签到

发表于 2018-10-8 08:14:21 | 显示全部楼层 |阅读模式

  首先以root身份登录到Linux系统中,然后执行如下命令创建mysql用户账号:
  [root@oldboy~]# useradd -s /sbin/nologin -M mysql
1、rpm方式安装MySQL
  rpm包的安装方式非常简单,这里以el6平台下的mysql-5.6.34版本为例,首先,要到mysql官网上下载下来mysql安装包:
  MySQL-server-5.6.29-1.el6.x86_64.rpm
  MySQL-client-5.6.29-1.el6.x86_64.rpm
  MySQL-devel-5.6.29-1.el6.x86_64.rpm
  MySQL-shared-compat-5.6.29-1.el6.x86_64.rpm
  MySQL-shared-5.6.29-1.el6.x86_64.rpm
  MySQL-test-5.6.29-1.el6.x86_64.rpm
  MySQL-embedded-5.6.29-1.el6.x86_64.rpm
  一般来说,其中的MySQL-server-5.6.29-1.el6.x86_64.rpm和MySQL-client-5.6.29-1.el6.x86_64.rpm这两个软件包是必须要安装的,至于另外几个软件包,则可视实际需要进行安装,不过一般建议一起安装。
  可以把这7个RPM包上传到服务器的目录中,然后执行如下rpm命令进行安装:
  ·   查看是否存在旧的 mysql 服务(mysql-libs安装更新后卸载,避免依赖报错)
  rpm -qa | grep mysql-libs
  ·   # 如果包存在,按照下列顺序卸载
  # 按照顺序卸载
  rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps
  rpm -e MySQL-shared-advanced
  rpm -e MySQL-test-advanced
  rpm -e MySQL-embedded-advanced
  rpm -e MySQL-server-advanced
  rpm -e MySQL-devel-advanced
  rpm -e MySQL-client-advanced
  rpm -ivh MySQL-client-5.6.29-1.el6.x86_64.rpm
  rpm -ivh MySQL-devel-5.6.29-1.el6.x86_64.rpm
  rpm -ivh MySQL-shared-5.6.29-1.el6.x86_64.rpm
  rpm -ivh MySQL-server-5.6.29-1.el6.x86_64.rpm
  rpm -ivh MySQL-embedded-5.6.29-1.el6.x86_64.rpm
  rpm -ivh MySQL-test-5.6.29-1.el6.x86_64.rpm
  MySQL的默认安装位置
  /var/lib/mysql/               #数据库目录
  /usr/share/mysql              #配置文件目录
  /usr/bin                     #相关命令目录
  /etc/init.d/mysql              #启动脚本
  在采用rpm包安装方式时,必须要官方或第三方提供了现成的rpm软件包,否则是无法使用该方式安装的。另外,和直接采用yum的安装方式相比,rpm包的安装方式往往可以选择更新的版本,但是rpm包安装也有自身的问题,例如,无法满足定制化安装,比如,不能进行编译参数、路径等的更改。
  *安装tcmalloc
  # s1
  wget http://10.0.42.1:4201/soft/libunwind-1.1.tar.gz
  tar zxvf libunwind-1.1.tar.gz
  cd libunwind-1.1
  CFLAGS=-fPIC ./configure
  make CFLAGS=-fPIC
  make CFLAGS=-fPIC install
  /sbin/ldconfig
  cd ..
  # s2
  wget http://10.0.42.1:4201/soft/gperftools-2.2.1.tar.gz
  tar zxvf gperftools-2.2.1.tar.gz
  cd gperftools-2.2.1
  ./configure
  make
  make install
  /sbin/ldconfig
  cd ..
  # s3
  cat /etc/ld.so.conf.d/local_lib.conf
  echo "/usr/local/lib" > /etc/ld.so.conf.d/local_lib.conf
  /sbin/ldconfig
  创建数据库配置文件my.cnf
  #修改数据库server-id,每台机器必须不同
  mv -f my.cnf /etc/
  rm -f /usr/my*.cnf
  * 初始化应用数据目录
  mkdir -p /u02/mysql
  rm -rf /u02/mysql/*
  rm -rf /var/lib/mysql/*
  mysql_install_db --defaults-file=/etc/my.cnf
  chown -R mysql.mysql /u02/mysql
  * 初始化配置
  cat /root/.mysql_secret
  7pkbuyfM1zYsqpDL
  service mysql start
  mysql -p

  GRANT ALL PRIVILEGES ON *.* TO 'ggs'@'%'>  FLUSH PRIVILEGES;
  exit;
  * 配置自动启动
  chkconfig mysql on
2、采用cmake方式编译安装MySQL
  考虑到MySQL5.4.xx及以后系列产品的特殊性,其编译方式和早期的第一条产品线的有所不同,这里采用cmake或gmake方式的编译安装。即./cmake;make;make install,生产场景的具体命令及参数为:
  yum install ncurses-devel libaio-devel -y
  rpm -qa ncurses-devel libaio-devel
  yum install cmake -y
  rpm -qa cmake
  useradd -s /sbin/nologin -M mysql
  tar zxf mysql-5.6.37.tar.gz
  cd mysql-5.6.37
  cmake . -DCMAKE_INSTALL_PREFIX=/u02/mysql-5.6.37 \
  -DMYSQL_DATADIR=/u02/mysql-5.6.37/data \
  -DMYSQL_UNIX_ADDR=/u02/mysql-5.6.37/tmp/mysql.sock \
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
  -DWITH_EXTRA_CHARSETS=all \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_FEDERATED_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
  -DWITH_ZLIB=bundled \
  -DWITH_SSL=bundled \
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_EMBEDDED_SERVER=1 \
  -DENABLE_DOWNLOADS=1 \
  -DWITH_DEBUG=0
  ##注意:\前面一定要有空格
  make
  make install
  ln -s /u02/mysql-5.6.37/ /u02/mysql
  创建数据库配置文件my.cnf
  mv /etc/my.cnf /etc/my.cnf.bak
  cp support-files/my-default.cnf /u02/mysql-5.6.34/my.cnf ##此步可以省略,my.cnf会在初始化时重新生成,,若不省略,则初始化时会生成my-new.cnf文件,my.cnf和my-new.cnf除了注释以外是一致的
  chown -R mysql.mysql /u02/mysql
初始化MySQL数据库文件
  /u02/mysql/scripts/mysql_install_db --basedir=/u02/mysql --datadir=/u02/mysql/data --user=mysql
  #>/etc/profile
  tail -1 /etc/profile
  source /etc/profile
登录MySQL测试
  mysql
  exit
  mysqladmin -u root password '123456'
  mysql -p123456
MySQL排错:
  1、cmake编译安装时\前面漏加了空格,一直很顺利,直到mysql启动时:
  [root@linux-mysql02 data]# /etc/init.d/mysqld start
  Starting MySQL.Logging to '/u02/mysql-5.6.37/data-DMYSQL_UNIX_ADDR=/u02/mysql-5.6.37/tmp/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_FEDERATED_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1-DWITH_ZLIB=bundled-DWITH_SSL=bundled-DENABLED_LOCAL_INFILE=1-DWITH_EMBEDDED_SERVER=1-DENABLE_DOWNLOADS=1-DWITH_DEBUG=0/linux-mysql02.err'.
  ERROR! The server quit without updating PID file (/u02/mysql-5.6.37/data-DMYSQL_UNIX_ADDR=/u02/mysql-5.6.37/tmp/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_FEDERATED_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1-DWITH_ZLIB=bundled-DWITH_SSL=bundled-DENABLED_LOCAL_INFILE=1-DWITH_EMBEDDED_SERVER=1-DENABLE_DOWNLOADS=1-DWITH_DEBUG=0/linux-mysql02.pid).
  报错!!!
  解决方法:
  [root@linux-mysql02 mysql-5.6.37]# vim /etc/init.d/mysqld
  ....
  datadir=/u02/mysql-5.6.37/data-DMYSQL_UNIX_ADDR=/u02/mysql-5.6.37/tmp/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_FEDERATED_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITHOUT_EXAMPLE_STORAGE_E
  NGINE=1-DWITH_ZLIB=bundled-DWITH_SSL=bundled-DENABLED_LOCAL_INFILE=1-DWITH_EMBEDDED_SERVER=1-DENABLE_DOWNLOADS=1-DWITH_DEBUG=0
  把上面的内容注释掉,并在上面内容的下一行加入
  datadir=/u02/mysql-5.6.37/data
  原因:此时mysql默认是调用编译自动生成的一些文件,/u02/mysql-5.6.37/support-files/mysql.server和/u02/mysql-5.6.37/my.cnf,所以解决方法一是修改启动文件mysql.server,如上,而是修改my.cnf,自定义一些参数。。
  2、在启动mysql前没有新建cmake编译时指定的/u02/mysql-5.6.37/tmp/目录,导致mysql.sock找不到目录报错:
  [root@linux-mysql01 mysql-5.6.37]# /etc/init.d/mysqld start
  Starting MySQL.Logging to '/u02/mysql-5.6.37/data/linux-mysql01.err'.
  170808 21:14:04 mysqld_safe Directory '/u02/mysql-5.6.37/tmp' for UNIX socket file don't exists.
  ERROR! The server quit without updating PID file (/u02/mysql-5.6.37/data/linux-mysql01.pid).
  解决方法:在启动时新建/u02/mysql-5.6.37/tmp目录,并授权mysql
  mkdir /u02/mysql-5.6.37/tmp
  chown -R mysql.mysql /u02/mysql*
3、采用二进制方式免编译安装MySQL
  采用二进制免编译方式安装MySQL的方法和yum/rpm包安装方式类似,适合各类MySQL产品系列,不需要复杂的编译设置及编译时间等待,直接解压下载的软件包,就相当于编译方式的make install步骤完成了,然后只要进行初始化数据库的操作,即可完成并启动
  1、下载:
  wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.37-linux-glibc2.5-x86_64.tar.gz
  2、安装依赖包
  useradd -s /sbin/nologin -M mysql
  id mysql
  yum install ncurses-devel libaio-devel -y
  3、解压
tar xf mysql-5.6.37-linux-glibc2.5-x86_64.tar.gz mkdir -p /u02mv mysql-5.6.37-linux-glibc2.5-x86_64 /u02/mysql-5.6.37useradd -s /sbin/nologin -M mysqlchown -R mysql.mysql /u02/mysql-5.6.37/cd /u02/mysql-5.6.37/  4、初始化数据库
cp support-files/my-default.cnf /etc/my.cnf./scripts/mysql_install_db --basedir=/u02/mysql-5.6.37/ --datadir=/u02/mysql-5.6.37/data/ --user=mysqlsed -i 's#/usr/local/mysql#/u02/mysql-5.6.37#g' /u02/mysql-5.6.37/bin/mysqld_safe  5、启动登录
/u02/mysql-5.6.37//bin/mysqld_safe &lsof -i :3306PATH="/u02/mysql-5.6.37/bin/:$PATH"  6、登录验证
  mysql


运维网声明 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-615641-1-1.html 上篇帖子: Linux RedHat 6.4 MySQL5.6源码包安装 下篇帖子: mysql主从配置简要笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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