Server-Side/Linux2010. 12. 1. 17:01

Mysql을 설치하고 데몬을 실행하려고 하는데 다음과 같은 에러가 뜬다면 이렇게 해보세요~

# /usr/local/mysql/bin/mysqladmin --version


ERROR 2002: Can't connect to local MySQL server through

socket '/tmp/mysql.sock' (2)  


# chown -R root /usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql/


참고사항
# /usr/local/mysql/bin/mysqld_safe --user=mysql&
 
...
... mysql ended   <- 데몬 실행이 안된겁니다.
...

참고사이트 : http://mkluv.tistory.com/113
Posted by 준피
Server-Side/Rails2010. 11. 14. 17:10

우분투와 윈도우두개의 OS에서 rails app개발을 하고있는데 유독 윈도우에서 만약 mysql db table안에 한글문자가 포함되있을경우 [incompatible character encodings: UTF-8 and ASCII-8BIT] 와 같은 에러가 났다. 개발할때의 환경은 Windows 7 & Ruby 1.9.2 & Rails 3.0.0 & Mysql 5 이였다. rails 3 로 프로젝트를 c:>rails new project -d mysql 과 같이 생성하면, config/database.yml 속에 adapter 가 mysql2 로 설정되어있다. 뭐 다 좋은데, window에서 이런설정으로 있으면 db의 table안에 한글이 들어있을경우 십중팔구 페이지를 로딩할때 encoding error가 뜬다는 것이다. 한글과 같은 루비 파일 상단에 # encoding: UTF-8 를 넣었음에도 불구하고 말이다. ( mysql2 gem 의 문제인것 같았다. ) 임시방편 해결방안이 있는데  @article.title 이란곳에서 문제가 난다면 @article.title.force_encoding("UTF-8") 형식으로 데이타베이스에서 한글을 불러올때 나는 에러사항을 해결할 수 있다. 하지만 수많은 데이타를 불러오는부분에서 일일이 다 저렇게 할수는 없는방편이고, 이래저래 구글링을하다가 올바른 해결방법을 찾아냈다.

먼저 config/database.yml 파일속에 adapter: mysql2 => adapter: mysql 으로 바꿔버린다.
Gemfile 을 열어서  gem 'mysql2' => gem 'ruby-mysql' 바꾸어 준다.
명령어 bundle install 을 하면 ruby-mysql 이 설치될 것이다. 아니면 gem install ruby-mysql 해도 된다.
서버를 재시작해서 실행해본다. 만약 mysql db에 한글이 포함되있음에도/여러페이지 로딩시 인코딩에러가 안난다면 성공!
만약 [uninitialized constant Mysql::Protocol::UNIXSocket ] 에러가 난다면 config/database.yml 파일을 열어서 host: localhost =>host: 127.0.0.1 로 바꾸어 주어야 한다.

이제 윈도우와 우분투에서 걱정없이 rails를 개발할 수 있게됬다.

Posted by 준피
Server-Side/MySQL2010. 10. 11. 16:19
유닉스계열은 0, 윈도우 계열은 1, Mac OS 의 경우는 2(이건 확실치 않음)가 기본 값이라고 한다.

유닉스 계열에서 값을 변경하고 싶다면 다음과 같이 하면 된다.

# /etc/init.d/mysqld stop
# mysqld_safe --lower_case_table_names = 1 &


확인하기

mysql> show variables like '%lower%';

'Server-Side > MySQL' 카테고리의 다른 글

[MySQL] password를 잃어버렸을 때  (0) 2011.06.06
자주 사용하는 ALTER TABLE 명령어 모음  (0) 2011.02.11
[MySQL]skip-name-resolve  (0) 2010.10.04
[MySQL]Too Many Connection Error  (0) 2010.10.04
mysql 접속자 수 늘리기  (0) 2010.09.20
Posted by 준피
Server-Side/Linux2010. 10. 9. 14:17
CentOS 64bit, php-5.2.5에서 mysqli를 설치해봤다.
apm 설치할때 보니까 mysqli가 빠져있길래 추가로 설치를 해봤다.
예전에는 애좀 먹었는데 간만에 하니까 술술 잘되는구나

# cd /usr/local/src/apm/php-5.2.5/ext/mysqli
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
# make

# mkdir -p /usr/lib64/extension/no-debug-non-zts-20060613
# cp modules/*.* /usr/lib64/extension/no-debug-non-zts-20060613/
# vi /usr/local/apache/conf/php.ini

extension_dir = "/usr/lib64/extensions/no-debug-non-zts-20060613/"
.
.
.
extension=mysqli.so

# /etc/init.d/http restart


'Server-Side > Linux' 카테고리의 다른 글

[CentOS] php에서 memcache 설치하기  (0) 2010.10.11
[CentOS] php version update 5.1 to 5.2  (0) 2010.10.09
[CentOS] 아파치 2개 이상 설치한 경우 해결책  (0) 2010.09.20
netstat 사용법  (0) 2010.09.20
서버 상태 확인  (0) 2010.08.28
Posted by 준피
Server-Side/MySQL2010. 10. 4. 15:00
MySQL 서버는 외부로 부터 접속 요청을 받을 경우 인증을 위해 IP 주소를 호스트네임으로 바꾸는 과정을 수행하여 접속시에 불필요한 부하가 발생하게 됩니다. skip-name-resolve를 설정하시고 접속시에 IP 기반으로 접속을 하게 되면 hostname lookup 과정을 생략하게 되어 좀 더 빠르게 접속을 하실 수 있습니다.

# vi /etc/my.cnf

[mysqld]
skip-external-locking
skip-host-cache
skip-locking
skip-name-resolve

이렇게 추가를 해주고 mysqld를 restart를 하면 된다.
Posted by 준피