lishenghan 发表于 2018-10-11 07:47:16

mysql 数据库的安装之一 源码安装

  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 应用软件之一.
  mysql 数据库安装方式有多种,本文介绍源码安装
  系统环境:
  Linux mysql 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  # cat /etc/redhat-release

  CentOS>
[*]  创建用户和组
  groupadd mysql
  useradd mysql -g mysql -M -s /sbin/nologin

  #>  uid=502(mysql) gid=502(mysql) 组=502(mysql)
  2.解压源码并编译安装
  tar xf mysql-5.1.72.tar.gz
  cd mysql-5.1.72
  #编译
  ./configure \
  --prefix=/application/mysql5.1.72 \
  --with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \
  --localstatedir=/application/mysql5.1.72/data \
  --enable-assembler \
  --enable-thread-safe-client \
  --with-mysqld-user=mysql \
  --with-big-tables \
  --without-debug \
  --with-pthread \
  --enable-assembler \
  --with-extra-charsets=complex \
  --with-readline \
  --with-ssl \
  --with-embedded-server \
  --enable-local-infile \
  --with-plugins=partition,innobase \
  --with-mysqld-ldflags=-all-static \
  --with-client-ldflags=-all-static
  make && make install
  3.做软链接
  ln -s /application/mysql5.1.72/ /application/mysql
  ll /application/mysql
  -------------------------------
  重要:如果mysql不是和apache部署在同一台电脑上,到此结束。
  -------------------------------
  4.数据库的初始化
  cd /tools/mysql-5.1.72
  ls support-files/my*.cnf         #显示mysql 配置文件
  cd support-files
  cp my-small.cnf /etc/my.cnf         #copy 配置文件
  mkdir -p /application/mysql/data    #建立mysql数据文件存放目录
  chown -R mysql:mysql /application/mysql#授权Mysql 用户能访问mysql 的安装目录
  ll /application/mysql/data
  /application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
  #出现2个OK,表示成功
  ll /application/mysql/data
  #######################################
  ------------------------------------------------
  vim /etc/init.d/mysqld
  basedir=/application/mysql
  datadir=/application/mysql/data
  ------------------------------------------------
  #######################################
  5.copy启动文件
  cd /tools/mysql-5.1.72/support-files
  cp mysql.server/etc/init.d/mysqld
  6.加入开机自启动
  chkconfig mysqld on
  启动mysql数据库
  /etc/init.d/mysqld start   (/application/mysql/bin/mysqld_safe &   这个命令也可以启动mysql)
  如果启动失败则执行下面命令:
  ps -ef |grep mysql   #查看Mysql 进程是否在运行,如果在的话,启动前要Kill或者mysqladmin shutdown
  然后再启动mysql
  #mysql
  出现下面错误:
  #-bash:mysql:command not found
  mysql 对应的路径不在path目录下面
  使用全路径进入mysql:
  /application/mysql/bin/mysql
  或者在文件最后加上:
  vi /etc/profile
  PATH="/application/mysql/bin/:$PATH"
  #. /etc/profile   #使之生效
  #设置密码,不要在mysql>下面设置密码,在#后面设置密码
  /application/mysql/bin/mysqladmin -uroot password 'passwd123'
  #重新登录,输入用户名和密码
  mysql -u root -p
  passwd123
  7.数据优化:
  select version();         #查看数据库版本
  select user();            #查看当前的用户
  mysql> show databases;    #查看数据库
  +--------------------+
  | Database         |
  +--------------------+
  | information_schema |
  | mysql            |
  | test               |
  +--------------------+
  mysql>drop database test; #安全设置,删除没有用的数据库
  最终优化为:
  mysql> show databases;
  +--------------------+
  | Database         |
  +--------------------+
  | information_schema |
  | mysql            |
  +--------------------+
  mysql> select user,host from mysql.user;#查询表中的用户
  +------+-----------+
  | user | host      |
  +------+-----------+
  | root | 127.0.0.1 |
  |      | localhost |
  | root | localhost |
  |      | weblamp   |
  | root | weblamp   |
  +------+-----------+
  drop user ""@weblamp;#删除主机名是weblamp,用户名=""。
  mysql> drop user ""@localhost;
  mysql> drop user "root"@weblamp;
  最终优化为:
  mysql> select user,host from mysql.user;
  +------+-----------+
  | user | host      |
  +------+-----------+
  | root | 127.0.0.1 |
  | root | localhost |
  +------+-----------+
  如果删除不了,就使用delete 删除。
  delete from mysql.user where(host="weblamp");
  最后刷新:
  flush privileges;
  #如果忘记登录密码,可以使用这个跳过登录密码的输入
  /application/mysql/bin/mysqld_safe --skip-grant-table &
  #修改密码
  mysql>update mysql.user set password=PASSWORD("oldboy123") where host='localhost' anduser='root';
  flush privileges;
  #lsof -i :3306#查看3306端口现在运行的情况
  #查看mysql 的日志
  cat /application/mysql/data/oldboy.err

页: [1]
查看完整版本: mysql 数据库的安装之一 源码安装