先yum安装 gcc ,gcc-c++, libgcc, gcc-objc
error: No curses/termcap library found
yum install ncurses-devel
编译&安装:
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.1.38.tar.gz
cd mysql-5.1.38/
./configure –prefix=/app/server/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase
make && make install
chmod +w /app/server/mysql
chown -R mysql:mysql /app/server/mysql
cd ../
配置数据库:
①、创建MySQL数据库存放目录
chown -R mysql:mysql /app/data/mysql/
②、以mysql用户帐号的身份建立数据表:
③、创建my.cnf配置文件:
输入以下内容:
[client] default-character-set = utf8 port = 3306 socket = /tmp/mysql.sock [mysql] prompt=”(\u:zior.org:)[\d]> “ no-auto-rehash [mysqld] #default-character-set = utf8 user = mysql port = 3306 socket = /tmp/mysql.sock basedir = /app/server/mysql datadir = /app/data/mysql/3306/data open_files_limit = 10240 back_log = 600 max_connections = 3000 max_connect_errors = 6000 table_cache = 614 external-locking = FALSE max_allowed_packet = 32M sort_buffer_size = 2M join_buffer_size = 2M thread_cache_size = 300 thread_concurrency = 8 query_cache_size = 32M query_cache_limit = 2M query_cache_min_res_unit = 2k default-storage-engine = MyISAM default_table_type = MyISAM thread_stack = 192K transaction_isolation = READ-COMMITTED tmp_table_size = 246M max_heap_table_size = 246M long_query_time = 1 log_long_format log-bin = /app/data/mysql/3306/binlog binlog_cache_size = 4M binlog_format = MIXED max_binlog_cache_size = 8M max_binlog_size = 512M expire_logs_days = 7 key_buffer_size = 256M read_buffer_size = 1M read_rnd_buffer_size = 16M bulk_insert_buffer_size = 64M myisam_sort_buffer_size = 128M myisam_max_sort_file_size = 10G myisam_max_extra_sort_file_size = 10G myisam_repair_threads = 1 myisam_recover skip-name-resolve master-connect-retry = 10 slave-skip-errors = 1032,1062,126,1114,1146,1048,1396 server-id = 1 innodb_additional_mem_pool_size = 16M innodb_buffer_pool_size = 2048M innodb_data_file_path = ibdata1:1024M:autoextend innodb_file_io_threads = 4 innodb_thread_concurrency = 8 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 16M innodb_log_file_size = 128M 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 = 32M
④、创建管理MySQL数据库的shell脚本:
输入以下内容(这里的用户名admin和密码12345678接下来的步骤会创建):
#!/bin/sh mysql_port=3306 mysql_username="admin" mysql_password="12345678" function_start_mysql() { printf "Starting MySQL...\n" /bin/sh /app/server/mysql/bin/mysqld_safe --defaults-file=/app/data/mysql/${mysql_port}/my.cnf 2>&1 > /dev/null & } function_stop_mysql() { printf "Stoping MySQL...\n" /app/server/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /tmp/mysql.sock shutdown } function_restart_mysql() { printf "Restarting MySQL...\n" function_stop_mysql sleep 5 function_start_mysql } function_kill_mysql() { kill -9 $(ps -ef | grep 'bin/mysqld_safe' | grep ${mysql_port} | awk '{printf $2}') kill -9 $(ps -ef | grep 'libexec/mysqld' | grep ${mysql_port} | awk '{printf $2}') } if [ "$1" = "start" ]; then function_start_mysql elif [ "$1" = "stop" ]; then function_stop_mysql elif [ "$1" = "restart" ]; then function_restart_mysql elif [ "$1" = "kill" ]; then function_kill_mysql else printf "Usage: /app/data/mysql/${mysql_port}/mysql {start|stop|restart|kill}\n" fi
⑤、赋予shell脚本可执行权限:
⑥、启动MySQL:
⑦、通过命令行登录管理MySQL服务器(提示输入密码时直接回车):
⑧、输入以下SQL语句,创建一个具有root权限的用户(admin)和密码(12345678):
GRANT ALL PRIVILEGES ON *.* TO ‘admin’@’127.0.0.1’ IDENTIFIED BY ‘12345678’;
⑨、(可选)停止MySQL:
添加mysqld为自启动服务:
[root@localhost app]# cp /app/server/mysql/share/mysql/mysql.server /etc/init.d/mysqld [root@localhost app]# chmod +x /etc/init.d/mysqld [root@localhost app]# chkconfig --list |grep mysql [root@localhost app]# chkconfig --add mysqld [root@localhost app]# chkconfig --level 345 mysqld on [root@localhost app]# service mysqld start
Starting MySQL.Manager of pid-file quit without updating file.[FAILED] 错误的解决:
vi /etc/init.d/mysqld
basedir=/app/server/mysql datadir=/app/data/mysql/3306/data
修改ROOT密码:
Method 1: 在/usr/local/mysql/bin/下: ./mysqladmin -u root password ‘new_password’ 一般安装时用此方法设置。
Method 2: 在mysql状态下: mysql>UPDATE user SET password=PASSWORD(’new_password’) WHERE user=’root’; mysql>FLUSH PRIVILEGES;
Method 3: mysql>SET PASSWORD FOR root=PASSWORD(’new_password’);
相关文章