MySQL-5.5的二进制包是怎样安装的
发布时间:2023-09-28 15:30:08 所属栏目:MySql教程 来源:
导读:本文主要给大家简单讲讲MySQL-5.5的二进制包是如何安装的,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL-5.5的二进制包是如何安装的这篇文章可以给大家带
本文主要给大家简单讲讲MySQL-5.5的二进制包是如何安装的,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL-5.5的二进制包是如何安装的这篇文章可以给大家带来一些实际帮助。 环境: [root@SQL-M ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@SQL-M ~]# uname -r 2.6.32-642.el6.x86_64 开始安装配置: [root@SQL-M ~]# cd /usr/local/src/ [root@SQL-M src]# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.55-linux2.6-x86_64.tar.gz [root@SQL-M src]# ll -h total 178M -rw-r--r-- 1 root root 178M Apr 22 16:27 mysql-5.5.55-linux2.6-x86_64.tar.gz MySQL-5.5的二进制包是如何安装的 [root@SQL-M src]# tar zxf mysql-5.5.55-linux2.6-x86_64.tar.gz -C /usr/local/ # 解压 [root@SQL-M src]# cd .. [root@SQL-M local]# mv mysql-5.5.55-linux2.6-x86_64/ mysql-5.5.55 # 改名 [root@SQL-M local]# ln -s mysql-5.5.55 mysql # 做软连接 [root@SQL-M local]# useradd mysql -s /sbin/nologin -M # 建立系统用户 [root@SQL-M local]# mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql # 初始化数据库 [root@SQL-M local]# chown -R mysql:mysql mysql-5.5.55 # 对目录授权 [root@SQL-M local]# vi /etc/my.cnf # 创建配置文件,测试用的 [client] port=3306 socket= /usr/local/mysql/mysql.sock [mysqld] user = mysql datadir = /usr/local/mysql/data/ character-set-server = utf8 skip-character-set-client-handshake init-connect = 'SET NAMES utf8' open_files_limit=1024 back_log = 600 max_connections = 800 max_connect_errors = 3000 table_cache = 614 external-locking = FALSE max_allowed_packet =8M sort_buffer_size = 1M join_buffer_size = 1M thread_cache_size = 100 thread_concurrency = 2 query_cache_size = 2M query_cache_limit = 1M query_cache_min_res_unit = 2k thread_stack = 192K tmp_table_size = 2M max_heap_table_size = 2M log-bin = /usr/local/mysql/data/mysql-bin binlog_cache_size = 1M max_binlog_cache_size = 1M max_binlog_size = 2M expire_logs_days = 7 key_buffer_size = 16M read_buffer_size = 1M read_rnd_buffer_size = 1M bulk_insert_buffer_size = 1M lower_case_table_names = 1 skip-name-resolve slave-skip-errors = 1032,1062 replicate-ignore-db=mysql server-id = 1 innodb_additional_mem_pool_size = 4M innodb_buffer_pool_size = 16M innodb_file_io_threads = 4 innodb_thread_concurrency = 8 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 2M innodb_log_file_size = 4M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 innodb_file_per_table = 0 [mysqldump] quick max_allowed_packet = 2M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [root@SQL-M local]# cp mysql/bin/* sbin/ # 复制执行命令到 sbin 下 [root@SQL-M local]# cp mysql/support-files/mysql.server /etc/init.d/mysqld # 生成启动脚本 [root@SQL-M local]# /etc/init.d/mysqld start # 直接启动服务 Starting MySQL...... SUCCESS! [root@SQL-M ~]# netstat -lntup # 查看服务 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 7853/mysqld [root@SQL-M ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 7853 mysql 12u IPv4 24118 0t0 TCP *:mysql (LISTEN) [root@SQL-M local]# mysqladmin -u root password # 给 root 密码,默认免密登录 Enter password: [root@SQL-M local]# mysql -uroot -p # 交互式密码登录 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.55-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, 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> mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.13 sec) mysql> drop database test; # 删掉测试库 Query OK, 0 rows affected (0.00 sec) mysql> select user,host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | ::1 | | | localhost | | root | localhost | | | sql-m | | root | sql-m | +------+-----------+ 6 rows in set (0.11 sec) mysql> drop user root@'::1'; # 把没用的用户删除 Query OK, 0 rows affected (0.14 sec) mysql> drop user ''@localhost; Query OK, 0 rows affected (0.00 sec) mysql> drop user ''@'sql-m'; Query OK, 0 rows affected (0.00 sec) mysql> drop user root@'sql-m'; Query OK, 0 rows affected (0.03 sec) mysql> select user,host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | localhost | +------+-----------+ 2 rows in set (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit [root@SQL-M local]# mysqladmin -uroot -p123 password # 改密码 New password: Confirm new password: 测试忘记root密码重新找回: [root@SQL-M ~]# /etc/init.d/mysqld stop # 先停掉服务 Shutting down MySQL.. SUCCESS! [root@SQL-M ~]# mysqld_safe --skip-grant-tables & # 忽略授权表方式启动服务 [1] 3685 170422 17:37:34 mysqld_safe Logging to '/var/log/mysqld.log'. 170422 17:37:34 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data [root@SQL-M ~]# 170422 17:37:39 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended [1]+ Done mysqld_safe --skip-grant-tables 奇怪居然失败了!看一下日志先。。。 [root@SQL-M ~]# tail /var/log/mysqld.log 170422 17:39:41 InnoDB: Waiting for the background threads to start 170422 17:39:42 InnoDB: 5.5.55 started; log sequence number 1595668 170422 17:39:42 [Note] Recovering after a crash using /usr/local/mysql/data/mysql-bin 170422 17:39:42 [Note] Starting crash recovery... 170422 17:39:42 [Note] Crash recovery finished. 170422 17:39:42 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 170422 17:39:42 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 170422 17:39:42 [Note] Server socket created on IP: '0.0.0.0'. 170422 17:39:42 [ERROR] /usr/local/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2) 170422 17:39:42 [ERROR] Can't start server: can't create PID file: No such file or directory 可以看到,无法创建 pid 文件,这肯定是没权限造成的。 /var/run/mysqld 这个路径是配置文件里配的: [root@SQL-M ~]# tail -3 /etc/my.cnf [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 这里有点奇怪,用 /etc/init.d/mysqld 启动服务时它不会读取配置文件里配置的 pid 路径,而用 mysqld_safe --skip-grant-tables & 忽略授权表方式启动服务却会读取配置文件里的 pid 路径。 不想动 /var/log/ 这个目录的权限,改配置文件 [root@SQL-M ~]# vim /etc/my.cnf [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/usr/local/mysql/mysqld.pid [root@SQL-M ~]# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & # 再次执行 [1] 7109 170422 17:54:17 mysqld_safe Logging to '/var/log/mysqld.log'. 170422 17:54:17 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data [root@SQL-M ~]# # 这次可以了 [root@SQL-M ~]# mysql # 免密登录 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.55-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, 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> mysql> update mysql.user set password=password('123') where user='root' and host='localhost'; # 修改密码 Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; # 刷新后退出用新密码登录 Query OK, 0 rows affected (0.19 sec) 以上二进制包简单安装完成。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐