冰镇可乐 发表于 2018-10-3 07:34:50

MYSQL源码包的安装

  Mysql 版本:
  rpm 包
  二进制包
  源码包
  一、rpm
  mysql.i386
  mysql-devel.i386
  mysql-server.i386
  1、
  # yum install mysql mysql-server mysql-devel
  服务端:/usr/libexec/mysqld
  客户端: /usr/bin/mysql
  启动脚本: /usr/bin/mysqld_safe
  建立帐号: mysql
  2、
  # vim /etc/my.cnf
  
  datadir=/var/lib/mysql 数据存放的目录
  socket=/var/lib/mysql/mysql.sock 套接字生成的路径
  user=mysql 运行的身份
  
  log-error=/var/log/mysqld.log 错误日志
  pid-file=/var/run/mysqld/mysqld.pid
  mysql启动流程
  mysqld服务器端进程初始化---> 读取配置文件my.cnf---> 根据配置文件读取数据--->根据配置文件生成socket文件--->生成其他的文件
  # /usr/libexec/mysqld--verbose --help | head -15
  ...
  Default options are read from the following files in the given order:
  /etc/my.cnf ~/.my.cnf
  3、启动
  # service mysqld start
  首次启动:
  初始化数据文件,在数据目录生成这些文件
  手工去修改mysql管理员密码
  /usr/bin/mysqladmin -u root password '123'
  /usr/bin/mysqladmin -u root -h station254.example.com password '123'
  4、客户端登录测试
  本地socket文件
  # mysql -u root -p123
  或
  # mysql -u root -p123 -S /var/lib/mysql/mysql.sock
  mysql> show databases;
  +--------------------+
  | Database         |
  +--------------------+
  | information_schema |
  | mysql            |
  | test               |
  +--------------------+
  通过tcp/ip协议登录
  # mysql -u root -p123 -h 127.0.0.1 -P 3306
  或
  # mysql -u root -p123 -h station254.example.com -P 3306
  mysql> select user,host,password from mysql.user;
  +------+------------------------+------------------+
  | user | host                   | password         |
  +------+------------------------+------------------+
  | root | localhost            | 773359240eb9a1d9 | socket文件登录
  | root | station254.example.com |                  | tcp/ip
  | root | 127.0.0.1            |                  | tcp/ip
  +------+------------------------+------------------+
  mysql关闭
  1、service mysqld stop
  2、
  # mysqladmin -u root -p123 -S /var/lib/mysql/mysql.sockshutdown
  3、直接结束进程,强烈不推荐
  找到mysqld_safe(如果存在就在,不存在就不用找)和mysqld进程,解释kill -9 #PID #PID
  其他方式启动
  # mysqld_safe--defaults-file=/etc/my.cnf &
  需要注意的细节:
  相关目录是否存在?
  数据目录,socket生成路径,其他文件保存的目录
  权限是否正确?
  mysql用户具有读写执行权限
  遇到问题找错误日志。
  忘记密码怎么办?
  1、把原来的mysql停止
  2、启动
  # mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
  不需要密码就可以登录数据库
  3、登录修改密码
  # mysql -u root -S /var/lib/mysql/mysql.sock
  mysql> update mysql.user set password=password('123') where user='root' and host='127.0.0.1';
  mysql>flush privileges;
  4、重启mysql,让其恢复需要密码验证的状态
  ============================================
  Mysql 二进制包安装
  1、解压
  mysql-5.1.54-linux-i686-glibc23.tar.gz
  2、移动
  # mv mysql-5.1.54-linux-i686-glibc23 /usr/local/mysql
  3、编写配置文件
  
  datadir=/data-binary
  socket=/data-binary/mysqld.sock
  user=mysql
  port=3306
  
  log-error=/data-binary/mysqld.err
  pid-file=/data-binary/mysqld.pid
  4、如果不存在mysql用户,就需要建立
  5、建立相关目录,修改权限
  6、初始化数据文件
  # cd /usr/local/mysql
  # ./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
  7、启动,改密码
  # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf&
  # mysqladmin -u root -S /data-binary/mysqld.sock password '123'
  登录测试
  =============================================
  源码包安装
  mysql-5.1.54.tar.gz
  1、解压
  # tar xf mysql-5.1.54.tar.gz -C /usr/src/
  # cd /usr/src/mysql-5.1.54/
  # yum -y install ncur*
  2、编译安装(参数是按照生产的要求来添加)这里只是做范例。
  # ./configure --prefix=/usr/local/mysql --enable-assembler--enable-profiling --enable-local-infile --with- --with-extra-charsets=gb2312,gbk --with-low-memory --with-big-tables --with-plugins=myisam,innobase,heap
  # make && make install
  3、建立配置文件
  
  datadir=/data
  socket=/data/mysqld.sock
  port=3306
  user=mysql
  
  log-errot=/data/mysqld.err
  pid-file=/data/mysqld.pid
  4、建立用户,建立目录,修改权限
  # mkdir /data
  # useradd -s /sbin/nologin mysql
  # chownmysql.mysql /data/
  5、初始化数据
  # /usr/local/mysql/bin/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
  6、启动,修改密码
  # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
  # /usr/local/mysql/bin/mysqladmin -u root -S /data/mysqld.sockpassword '123'
  # /usr/local/mysql/bin/mysql -u root -p123 -S /data/mysqld.sock
  让其支持service指令启动:
  # cp /usr/src/mysql-5.1.54/support-files/mysql.server /etc/rc.d/init.d/mysql5
  # chmod 775 /etc/rc.d/init.d/mysql5
  # service mysql5 start
  mysql> create database uplooking;
  mysql> use uplooking;
  mysql> create table user (id int,name varchar(16));
  mysql> insert into user values (1,'tom'),(2,'mary');
  mysql> select * from user;
  +------+------+

  |>  +------+------+
  |    1 | tom|
  |    2 | mary |
  +------+------+

页: [1]
查看完整版本: MYSQL源码包的安装